From 4e49f39e1a9c267c52b409a083a202c27171ae4d Mon Sep 17 00:00:00 2001 From: Jan Cholasta Date: Nov 05 2014 14:28:27 +0000 Subject: Fix memory leak in ipa-pwd-extop Also remove dead code and explicitly mark an ignored return value to prevent false positives in static code analysis. https://fedorahosted.org/freeipa/ticket/4651 Reviewed-By: Alexander Bokovoy --- diff --git a/daemons/ipa-slapi-plugins/ipa-pwd-extop/ipa_pwd_extop.c b/daemons/ipa-slapi-plugins/ipa-pwd-extop/ipa_pwd_extop.c index ca021ca..f0346a3 100644 --- a/daemons/ipa-slapi-plugins/ipa-pwd-extop/ipa_pwd_extop.c +++ b/daemons/ipa-slapi-plugins/ipa-pwd-extop/ipa_pwd_extop.c @@ -1393,6 +1393,7 @@ done: if (rc != LDAP_SUCCESS) { free(password); free(svcname); + free(enctypes); *_err_msg = err_msg; } else { *_password = password; @@ -1639,7 +1640,6 @@ static int ipapwd_getkeytab(Slapi_PBlock *pb, struct ipapwd_krbcfg *krbcfg) krb5_context krbctx = NULL; krb5_error_code krberr; struct berval *extop_value = NULL; - BerElement *ber = NULL; char *service_name = NULL; char *svcname; Slapi_Entry *target_entry = NULL; @@ -1827,7 +1827,6 @@ free_and_return: } free(svals); } - if (ber) ber_free(ber, 1); if (bvp) ber_bvfree(bvp); return SLAPI_PLUGIN_EXTENDED_SENT_RESULT; diff --git a/daemons/ipa-slapi-plugins/ipa-pwd-extop/syncreq.c b/daemons/ipa-slapi-plugins/ipa-pwd-extop/syncreq.c index 2bfcf10..cbb4536 100644 --- a/daemons/ipa-slapi-plugins/ipa-pwd-extop/syncreq.c +++ b/daemons/ipa-slapi-plugins/ipa-pwd-extop/syncreq.c @@ -86,7 +86,7 @@ bool sync_request_handle(Slapi_ComponentId *plugin_id, Slapi_PBlock *pb, } /* Decode the optional token DN. */ - ber_scanf(ber, "a", &token_dn); + (void)ber_scanf(ber, "a", &token_dn); /* Process the synchronization. */ success = false;