diff options
Diffstat (limited to 'source3/passdb/secrets.c')
-rw-r--r-- | source3/passdb/secrets.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/source3/passdb/secrets.c b/source3/passdb/secrets.c index 7533d6b842f..ce215b1f2b2 100644 --- a/source3/passdb/secrets.c +++ b/source3/passdb/secrets.c @@ -351,6 +351,8 @@ bool fetch_ldap_pw(char **dn, char** pw) if (!old_style_key) { DEBUG(0, ("fetch_ldap_pw: strdup failed!\n")); + SAFE_FREE(*pw); + SAFE_FREE(*dn); return False; } @@ -361,6 +363,7 @@ bool fetch_ldap_pw(char **dn, char** pw) if ((data == NULL) || (size < sizeof(old_style_pw))) { DEBUG(0,("fetch_ldap_pw: neither ldap secret retrieved!\n")); SAFE_FREE(old_style_key); + SAFE_FREE(*pw); SAFE_FREE(*dn); SAFE_FREE(data); return False; @@ -375,6 +378,7 @@ bool fetch_ldap_pw(char **dn, char** pw) if (!secrets_store_ldap_pw(*dn, old_style_pw)) { DEBUG(0,("fetch_ldap_pw: ldap secret could not be upgraded!\n")); SAFE_FREE(old_style_key); + SAFE_FREE(*pw); SAFE_FREE(*dn); return False; } |