From: Stig Venaas Date: Wed, 20 Jun 2001 21:12:55 +0000 (+0000) Subject: Fixed memory leak in ldap_get_entries() when using post RFC 1823 API. X-Git-Tag: PRE_GRANULAR_GARBAGE_FIX~17 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=399885cddb773aad2bcf2cbf6d5d9131711fd4f9;p=php Fixed memory leak in ldap_get_entries() when using post RFC 1823 API. Similar problems for other functions will be fixed --- diff --git a/ext/ldap/ldap.c b/ext/ldap/ldap.c index 894031bd11..2b43fcd8e3 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);