[PATCH v1 1/2] auth: fix mem leak & use appropriate free function

Aurelien Aptel aaptel at suse.com
Tue Jan 17 13:39:02 UTC 2017


coverity fix.

cli_credentials_set_principal does a strdup, we want to free 'name'
regardless of the result in 'ok'.

Signed-off-by: Aurelien Aptel <aaptel at suse.com>
---
 auth/credentials/credentials_krb5.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/auth/credentials/credentials_krb5.c b/auth/credentials/credentials_krb5.c
index 3663e1d..d2a655e 100644
--- a/auth/credentials/credentials_krb5.c
+++ b/auth/credentials/credentials_krb5.c
@@ -260,11 +260,11 @@ static int cli_credentials_set_from_ccache(struct cli_credentials *cred,
 	}
 
 	ok = cli_credentials_set_principal(cred, name, obtained);
+	krb5_free_unparsed_name(ccache->smb_krb5_context->krb5_context, name);
 	if (!ok) {
 		krb5_free_principal(ccache->smb_krb5_context->krb5_context, princ);
 		return ENOMEM;
 	}
-	free(name);
 
 	realm = smb_krb5_principal_get_realm(ccache->smb_krb5_context->krb5_context,
 					     princ);
-- 
2.10.2




More information about the samba-technical mailing list