summaryrefslogtreecommitdiffstats
path: root/daemons/ipa-slapi-plugins
diff options
context:
space:
mode:
authorJan Cholasta <jcholast@redhat.com>2014-11-05 08:46:19 +0000
committerMartin Kosek <mkosek@redhat.com>2014-11-05 15:28:27 +0100
commit701dde3cb3b36173cbe00be5357bcdcbc6dd2b42 (patch)
tree66eb4e9722fa94cf02b98a66d6ded3cedecd7250 /daemons/ipa-slapi-plugins
parent08ee4a2e6f101ee7ab2ed71a6f99b8b7a1b791d6 (diff)
downloadfreeipa-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.c12
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) {