Skip to content

Commit db46da3

Browse files
committed
Address review comments
1 parent d124f0e commit db46da3

File tree

2 files changed

+15
-8
lines changed

2 files changed

+15
-8
lines changed

ext/ldap/ldap.c

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,6 @@ typedef struct {
8787
typedef struct {
8888
LDAPMessage *data;
8989
BerElement *ber;
90-
zval res;
9190
zend_object std;
9291
} ldap_result_entry;
9392

@@ -217,7 +216,6 @@ static void ldap_result_entry_free_obj(zend_object *obj)
217216
ber_free(entry->ber, 0);
218217
entry->ber = NULL;
219218
}
220-
zval_ptr_dtor(&entry->res);
221219

222220
zend_object_std_dtor(&entry->std);
223221
}
@@ -233,7 +231,7 @@ static void ldap_result_entry_free_obj(zend_object *obj)
233231
#define VERIFY_LDAP_RESULT_OPEN(lr) \
234232
{ \
235233
if (!lr->result) { \
236-
zend_throw_error(NULL, "LDAP result has already been freed"); \
234+
zend_throw_error(NULL, "LDAP result has already been closed"); \
237235
RETURN_THROWS(); \
238236
} \
239237
}
@@ -1167,7 +1165,6 @@ PHP_FUNCTION(ldap_connect)
11671165
size_t urllen = hostlen + sizeof( "ldap://:65535" );
11681166

11691167
if (port <= 0 || port > 65535) {
1170-
zval_ptr_dtor(return_value);
11711168
zend_argument_value_error(2, "must be between 1 and 65535");
11721169
RETURN_THROWS();
11731170
}
@@ -1918,7 +1915,6 @@ PHP_FUNCTION(ldap_first_entry)
19181915
} else {
19191916
object_init_ex(return_value, ldap_result_entry_ce);
19201917
resultentry = Z_LDAP_RESULT_ENTRY_P(return_value);
1921-
ZVAL_COPY(&resultentry->res, result);
19221918
resultentry->data = entry;
19231919
resultentry->ber = NULL;
19241920
}
@@ -1947,7 +1943,6 @@ PHP_FUNCTION(ldap_next_entry)
19471943
} else {
19481944
object_init_ex(return_value, ldap_result_entry_ce);
19491945
resultentry_next = Z_LDAP_RESULT_ENTRY_P(return_value);
1950-
ZVAL_COPY(&resultentry_next->res, &resultentry->res);
19511946
resultentry_next->data = entry_next;
19521947
resultentry_next->ber = NULL;
19531948
}
@@ -3600,7 +3595,6 @@ PHP_FUNCTION(ldap_first_reference)
36003595
} else {
36013596
object_init_ex(return_value, ldap_result_entry_ce);
36023597
resultentry = Z_LDAP_RESULT_ENTRY_P(return_value);
3603-
ZVAL_COPY(&resultentry->res, result);
36043598
resultentry->data = entry;
36053599
resultentry->ber = NULL;
36063600
}
@@ -3629,7 +3623,6 @@ PHP_FUNCTION(ldap_next_reference)
36293623
} else {
36303624
object_init_ex(return_value, ldap_result_entry_ce);
36313625
resultentry_next = Z_LDAP_RESULT_ENTRY_P(return_value);
3632-
ZVAL_COPY(&resultentry_next->res, &resultentry->res);
36333626
resultentry_next->data = entry_next;
36343627
resultentry_next->ber = NULL;
36353628
}

ext/ldap/tests/ldap_search_error.phpt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,18 @@ try {
3939
echo $exception->getMessage() . "\n";
4040
}
4141

42+
try {
43+
ldap_search($link, [], []);
44+
} catch (TypeError $exception) {
45+
echo $exception->getMessage() . "\n";
46+
}
47+
48+
try {
49+
ldap_search($link, "", []);
50+
} catch (TypeError $exception) {
51+
echo $exception->getMessage() . "\n";
52+
}
53+
4254
?>
4355
--EXPECTF--
4456
Warning: ldap_search(): Search: No such object in %s on line %d
@@ -49,3 +61,5 @@ bool(false)
4961
ldap_search(): Argument #1 ($ldap) cannot be empty
5062
ldap_search(): Argument #2 ($base) must have the same number of elements as the links array
5163
ldap_search(): Argument #3 ($filter) must have the same number of elements as the links array
64+
ldap_search(): Argument #2 ($base) must be of type string when argument #1 ($ldap) is an LDAP instance
65+
ldap_search(): Argument #3 ($filter) must be of type string when argument #1 ($ldap) is an LDAP instance

0 commit comments

Comments
 (0)