auth/credentials_krb5: fix memory leak in cli_credentials_failed_kerberos_login().
authorGünther Deschner <gd@samba.org>
Fri, 28 Nov 2014 16:24:09 +0000 (17:24 +0100)
committerAndreas Schneider <asn@cryptomilk.org>
Mon, 26 Jan 2015 18:56:57 +0000 (19:56 +0100)
Guenther

Signed-off-by: Günther Deschner <gd@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date(master): Mon Jan 26 19:56:57 CET 2015 on sn-devel-104

auth/credentials/credentials_krb5.c

index d968e200e77c487ed9ae2b372540619e7cfab84b..77dbcd2c0615288fae4b6265d9606a4bcdb4142c 100644 (file)
@@ -257,10 +257,12 @@ _PUBLIC_ bool cli_credentials_failed_kerberos_login(struct cli_credentials *cred
        ret = krb5_cc_retrieve_cred(ccc->smb_krb5_context->krb5_context, ccc->ccache, KRB5_TC_MATCH_SRV_NAMEONLY, &creds, &creds2);
        if (ret != 0) {
                /* don't retry - we didn't find these credentials to remove */
+               krb5_free_cred_contents(ccc->smb_krb5_context->krb5_context, &creds);
                return false;
        }
 
        ret = krb5_cc_remove_cred(ccc->smb_krb5_context->krb5_context, ccc->ccache, KRB5_TC_MATCH_SRV_NAMEONLY, &creds);
+       krb5_free_cred_contents(ccc->smb_krb5_context->krb5_context, &creds);
        krb5_free_cred_contents(ccc->smb_krb5_context->krb5_context, &creds2);
        if (ret != 0) {
                /* don't retry - we didn't find these credentials to