From cee9a36eaa6f9d4c857f8b7e0e0fa24bfe91bedb Mon Sep 17 00:00:00 2001 From: Quanah Gibson-Mount <quanah@openldap.org> Date: Fri, 30 Oct 2009 19:10:18 +0000 Subject: [PATCH] ITS#6326 --- CHANGES | 1 + servers/slapd/back-ldap/search.c | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index 52de6498f9..061abbe3c1 100644 --- a/CHANGES +++ b/CHANGES @@ -3,6 +3,7 @@ OpenLDAP 2.4 Change Log OpenLDAP 2.4.20 Engineering Fixed libldap uninitialized return value (ITS#6355) Fixed slapd debug handling of LDAP_DEBUG_ANY (ITS#6324) + Fixed slapd-ldap leak (ITS#6326) Documentation ldap_get_dn(3) typos (ITS#5366) diff --git a/servers/slapd/back-ldap/search.c b/servers/slapd/back-ldap/search.c index c745828501..c8ccbed0ec 100644 --- a/servers/slapd/back-ldap/search.c +++ b/servers/slapd/back-ldap/search.c @@ -759,6 +759,7 @@ ldap_build_entry( ( oc = oc_bvfind_undef( &attr->a_vals[i] ) ) != NULL ) { ber_dupbv( &pval, &oc->soc_cname ); + rc = LDAP_SUCCESS; } else { LBER_FREE( attr->a_vals[i].bv_val ); @@ -770,8 +771,9 @@ ldap_build_entry( BER_BVZERO( &attr->a_vals[last] ); i--; } + } - } else if ( pretty ) { + if ( rc == LDAP_SUCCESS && pretty ) { LBER_FREE( attr->a_vals[i].bv_val ); attr->a_vals[i] = pval; } -- GitLab