jani Wed, 18 Nov 2009 17:44:58 +
Revision: http://svn.php.net/viewvc?view=revision&revision=290923
Log:
- Fixed bug #50185 (ldap_get_entries() return false instead of an empty array
when there is no error).
# This is also revert of bad patch to bug #48469 and fixes it properly.
Bugs: http://bugs.php.net/50185 (Open) ldap_get_entries() return false instead
of an empty array when there is no error
http://bugs.php.net/48469 (Closed) ldap_get_entries() memory leaks when
used on a search yielding no results
Changed paths:
U php/php-src/branches/PHP_5_2/NEWS
U php/php-src/branches/PHP_5_2/ext/ldap/ldap.c
U php/php-src/branches/PHP_5_3/NEWS
U php/php-src/branches/PHP_5_3/ext/ldap/ldap.c
U php/php-src/trunk/ext/ldap/ldap.c
Modified: php/php-src/branches/PHP_5_2/NEWS
===
--- php/php-src/branches/PHP_5_2/NEWS 2009-11-18 17:35:00 UTC (rev 290922)
+++ php/php-src/branches/PHP_5_2/NEWS 2009-11-18 17:44:58 UTC (rev 290923)
@@ -5,6 +5,8 @@
- Made it possible to disable post_max_size (Rasmus)
+- Fixed bug #50185 (ldap_get_entries() return false instead of an empty array
+ when there is no error). (Jani)
- Fixed bug #50174 (Incorrectly matched docComment). (Felipe)
- Fixed bug #50158 (FILTER_VALIDATE_EMAIL fails with valid addresses
containing = or ?). (Pierrick)
Modified: php/php-src/branches/PHP_5_2/ext/ldap/ldap.c
===
--- php/php-src/branches/PHP_5_2/ext/ldap/ldap.c2009-11-18 17:35:00 UTC
(rev 290922)
+++ php/php-src/branches/PHP_5_2/ext/ldap/ldap.c2009-11-18 17:44:58 UTC
(rev 290923)
@@ -1061,17 +1061,21 @@
ldap = ld->link;
num_entries = ldap_count_entries(ldap, ldap_result);
- if (num_entries == 0) return;
- num_entries = 0;
+ array_init(return_value);
+ add_assoc_long(return_value, "count", num_entries);
+
+ if (num_entries == 0) {
+ return;
+ }
ldap_result_entry = ldap_first_entry(ldap, ldap_result);
- if (ldap_result_entry == NULL) RETURN_FALSE;
+ if (ldap_result_entry == NULL) {
+ zval_dtor(return_value);
+ RETURN_FALSE;
+ }
- array_init(return_value);
- add_assoc_long(return_value, "count", num_entries);
-
+ num_entries = 0;
while (ldap_result_entry != NULL) {
-
MAKE_STD_ZVAL(tmp1);
array_init(tmp1);
Modified: php/php-src/branches/PHP_5_3/NEWS
===
--- php/php-src/branches/PHP_5_3/NEWS 2009-11-18 17:35:00 UTC (rev 290922)
+++ php/php-src/branches/PHP_5_3/NEWS 2009-11-18 17:44:58 UTC (rev 290923)
@@ -23,6 +23,8 @@
- Fixed bug #50212 (crash by ldap_get_option() with LDAP_OPT_NETWORK_TIMEOUT).
(Ilia, shigeru_kitazaki at cybozu dot co dot jp)
+- Fixed bug #50185 (ldap_get_entries() return false instead of an empty array
+ when there is no error). (Jani)
- Fixed bug #50140 (With default compilation option, php symbols are
unresolved for nsapi). (Uwe Schindler)
- Fixed bug #50174 (Incorrectly matched docComment). (Felipe)
Modified: php/php-src/branches/PHP_5_3/ext/ldap/ldap.c
===
--- php/php-src/branches/PHP_5_3/ext/ldap/ldap.c2009-11-18 17:35:00 UTC
(rev 290922)
+++ php/php-src/branches/PHP_5_3/ext/ldap/ldap.c2009-11-18 17:44:58 UTC
(rev 290923)
@@ -936,21 +936,21 @@
ldap = ld->link;
num_entries = ldap_count_entries(ldap, ldap_result);
+ array_init(return_value);
+ add_assoc_long(return_value, "count", num_entries);
+
if (num_entries == 0) {
- RETURN_NULL();
+ return;
}
- num_entries = 0;
ldap_result_entry = ldap_first_entry(ldap, ldap_result);
if (ldap_result_entry == NULL) {
+ zval_dtor(return_value);
RETURN_FALSE;
}
- array_init(return_value);
- add_assoc_long(return_value, "count", num_entries);
-
+ num_entries = 0;
while (ldap_result_entry != NULL) {
-
MAKE_STD_ZVAL(tmp1);
array_init(tmp1);
Modified: php/php-src/trunk/ext/ldap/ldap.c
===
--- php/php-src/trunk/ext/ldap/ldap.c 2009-11-18 17:35:00 UTC (rev 290922)
+++ php/php-src/trunk/ext/ldap/ldap.c 2009-11-18 17:44:58 UTC (rev 290923)
@@ -957,21 +957,21 @@
ldap = ld->link;
num_entries = ldap_count_entries(ldap, ldap_result);
+ array_init(return_value);
+ add_assoc_long(return_value, "count", num_entries);
+
if (num_entries == 0) {
- RETURN_NULL();
+ return;
}
- num_entries = 0;
ldap_result_entry = ldap_first_entry(ldap, ldap_result);