summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStig Venaas <venaas@php.net>2001-11-30 23:37:43 +0000
committerStig Venaas <venaas@php.net>2001-11-30 23:37:43 +0000
commit80d8e554d3fe018c85dc49b138e64dfc4b017d5b (patch)
tree99c7d71a4b59182899a9e200c5f552a18167d7fa
parent8a33c1cacebbf7536d54b051c29a0f0c7b94077c (diff)
downloadphp-git-80d8e554d3fe018c85dc49b138e64dfc4b017d5b.tar.gz
ldap_first_attribute and ldap_next_attribute has been completely broken
for 6 months!! Fixed (I think), might be a memory leak there...
-rw-r--r--ext/ldap/ldap.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/ext/ldap/ldap.c b/ext/ldap/ldap.c
index c76a930fdf..d292bd87a3 100644
--- a/ext/ldap/ldap.c
+++ b/ext/ldap/ldap.c
@@ -232,6 +232,7 @@ PHP_MINIT_FUNCTION(ldap)
le_result = zend_register_list_destructors_ex(_free_ldap_result, NULL, "ldap result", module_number);
le_link = zend_register_list_destructors_ex(_close_ldap_link, NULL, "ldap link", module_number);
le_result_entry = zend_register_list_destructors_ex(NULL, NULL, "ldap result entry", module_number);
+ le_ber_entry = zend_register_list_destructors_ex(NULL, NULL, "ldap ber entry", module_number);
Z_TYPE(ldap_module_entry) = type;
@@ -1001,7 +1002,7 @@ PHP_FUNCTION(ldap_first_attribute)
if ((attribute = ldap_first_attribute(ld->link, ldap_result_entry, &ber)) == NULL) {
RETURN_FALSE;
} else {
- ZEND_REGISTER_RESOURCE(return_value, ber, le_ber_entry);
+ ZEND_REGISTER_RESOURCE(*berp, ber, le_ber_entry);
RETVAL_STRING(attribute, 1);
#if ( LDAP_API_VERSION > 2000 ) || HAVE_NSLDAP || WINDOWS
@@ -1032,7 +1033,7 @@ PHP_FUNCTION(ldap_next_attribute)
if ((attribute = ldap_next_attribute(ld->link, ldap_result_entry, ber)) == NULL) {
RETURN_FALSE;
} else {
- ZEND_REGISTER_RESOURCE(return_value, ber, le_ber_entry);
+ ZEND_REGISTER_RESOURCE(*berp, ber, le_ber_entry);
RETVAL_STRING(attribute, 1);
#if ( LDAP_API_VERSION > 2000 ) || HAVE_NSLDAP || WINDOWS