summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXinchen Hui <laruence@gmail.com>2017-01-19 12:23:23 +0800
committerXinchen Hui <laruence@gmail.com>2017-01-19 12:23:23 +0800
commitcad2598fcb80a2b3594568ced0f9a5823e98768e (patch)
tree5b6040a28ca4dc6e2b884d3879743e06d0526324
parent8c75dbc4983f826c9ea9ba64930e1b91d81a73b5 (diff)
downloadphp-git-cad2598fcb80a2b3594568ced0f9a5823e98768e.tar.gz
Fixed another part in ldap (bug #73933)
-rw-r--r--ext/ldap/ldap.c4
-rw-r--r--ext/ldap/tests/bug73933.phpt10
2 files changed, 13 insertions, 1 deletions
diff --git a/ext/ldap/ldap.c b/ext/ldap/ldap.c
index 0fb9c755aa..109508bbbe 100644
--- a/ext/ldap/ldap.c
+++ b/ext/ldap/ldap.c
@@ -1681,7 +1681,7 @@ PHP_FUNCTION(ldap_modify_batch)
);
*/
- if (zend_parse_parameters(ZEND_NUM_ARGS(), "rsa", &link, &dn, &dn_len, &mods) != SUCCESS) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS(), "rsa/", &link, &dn, &dn_len, &mods) != SUCCESS) {
return;
}
@@ -1726,6 +1726,7 @@ PHP_FUNCTION(ldap_modify_batch)
RETURN_FALSE;
}
+ SEPARATE_ARRAY(mod);
/* for the modification hashtable... */
zend_hash_internal_pointer_reset(Z_ARRVAL_P(mod));
num_modprops = zend_hash_num_elements(Z_ARRVAL_P(mod));
@@ -1800,6 +1801,7 @@ PHP_FUNCTION(ldap_modify_batch)
RETURN_FALSE;
}
+ SEPARATE_ARRAY(modinfo);
/* is the array not empty? */
zend_hash_internal_pointer_reset(Z_ARRVAL_P(modinfo));
num_modvals = zend_hash_num_elements(Z_ARRVAL_P(modinfo));
diff --git a/ext/ldap/tests/bug73933.phpt b/ext/ldap/tests/bug73933.phpt
index 6bf4c078e3..ac934a8dd8 100644
--- a/ext/ldap/tests/bug73933.phpt
+++ b/ext/ldap/tests/bug73933.phpt
@@ -13,8 +13,18 @@ ldap_mod_replace($ldap, null, array(
'lockoutTime' => array(0),
));
+ldap_modify_batch($ldap, null, array( [
+ "attrib" => "mail",
+ "modtype" => LDAP_MODIFY_BATCH_ADD,
+ "values" => [
+ "test@example.com",
+ "test-2@example.com", ]]));
+
+
ldap_close($ldap);
?>
--EXPECTF--
Warning: ldap_mod_replace(): Modify: Can't contact LDAP server in %sbug73933.php on line %d
+
+Warning: ldap_modify_batch(): Batch Modify: Can't contact LDAP server in %sbug73933.php on line %d