diff options
author | Jan Cholasta <jcholast@redhat.com> | 2014-11-05 08:46:19 +0000 |
---|---|---|
committer | Martin Kosek <mkosek@redhat.com> | 2014-11-05 15:28:27 +0100 |
commit | 701dde3cb3b36173cbe00be5357bcdcbc6dd2b42 (patch) | |
tree | 66eb4e9722fa94cf02b98a66d6ded3cedecd7250 /daemons/ipa-slapi-plugins | |
parent | 08ee4a2e6f101ee7ab2ed71a6f99b8b7a1b791d6 (diff) | |
download | freeipa-701dde3cb3b36173cbe00be5357bcdcbc6dd2b42.tar.gz freeipa-701dde3cb3b36173cbe00be5357bcdcbc6dd2b42.tar.xz freeipa-701dde3cb3b36173cbe00be5357bcdcbc6dd2b42.zip |
Fix memory leaks in ipa-extdom-extop
https://fedorahosted.org/freeipa/ticket/4651
Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
Diffstat (limited to 'daemons/ipa-slapi-plugins')
-rw-r--r-- | daemons/ipa-slapi-plugins/ipa-extdom-extop/ipa_extdom_common.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/daemons/ipa-slapi-plugins/ipa-extdom-extop/ipa_extdom_common.c b/daemons/ipa-slapi-plugins/ipa-extdom-extop/ipa_extdom_common.c index df04347e3..20fdd62b2 100644 --- a/daemons/ipa-slapi-plugins/ipa-extdom-extop/ipa_extdom_common.c +++ b/daemons/ipa-slapi-plugins/ipa-extdom-extop/ipa_extdom_common.c @@ -340,7 +340,8 @@ static int pack_ber_user(enum response_types response_type, ber = ber_alloc_t( LBER_USE_DER ); if (ber == NULL) { - return LDAP_OPERATIONS_ERROR; + ret = LDAP_OPERATIONS_ERROR; + goto done; } ret = ber_printf(ber,"{e{ssii", response_type, domain_name, short_user_name, @@ -449,14 +450,15 @@ static int pack_ber_group(enum response_types response_type, ber = ber_alloc_t( LBER_USE_DER ); if (ber == NULL) { - return LDAP_OPERATIONS_ERROR; + ret = LDAP_OPERATIONS_ERROR; + goto done; } ret = ber_printf(ber,"{e{ssi", response_type, domain_name, short_group_name, gid); if (ret == -1) { - ber_free(ber, 1); - return LDAP_OPERATIONS_ERROR; + ret = LDAP_OPERATIONS_ERROR; + goto done; } if (response_type == RESP_GROUP_MEMBERS) { @@ -716,7 +718,7 @@ static int handle_sid_request(enum request_types request_type, const char *sid, ret = get_buffer(&buf_len, &buf); if (ret != LDAP_SUCCESS) { - return ret; + goto done; } switch(id_type) { |