From 399885cddb773aad2bcf2cbf6d5d9131711fd4f9 Mon Sep 17 00:00:00 2001 From: Stig Venaas Date: Wed, 20 Jun 2001 21:12:55 +0000 Subject: [PATCH] Fixed memory leak in ldap_get_entries() when using post RFC 1823 API. Similar problems for other functions will be fixed --- ext/ldap/ldap.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ext/ldap/ldap.c b/ext/ldap/ldap.c index 894031bd11b..2b43fcd8e31 100644 --- a/ext/ldap/ldap.c +++ b/ext/ldap/ldap.c @@ -945,12 +945,22 @@ PHP_FUNCTION(ldap_get_entries) add_index_string(tmp1, num_attrib, attribute, 1); num_attrib++; +#if ( LDAP_API_VERSION > 2000 ) || HAVE_NSLDAP || WINDOWS + ldap_memfree(attribute); +#endif attribute = ldap_next_attribute(ldap, ldap_result_entry, ber); } +#if ( LDAP_API_VERSION > 2000 ) || HAVE_NSLDAP || WINDOWS + if (ber != NULL) + ber_free(ber, 0); +#endif add_assoc_long(tmp1, "count", num_attrib); dn = ldap_get_dn(ldap, ldap_result_entry); add_assoc_string(tmp1, "dn", dn, 1); +#if ( LDAP_API_VERSION > 2000 ) || HAVE_NSLDAP || WINDOWS + ldap_memfree(dn); +#endif zend_hash_index_update(return_value->value.ht, num_entries, (void *) &tmp1, sizeof(pval *), NULL);