diff --git a/ext/ldap/ldap.c b/ext/ldap/ldap.c index 14eff31de23..feb3935e24b 100644 --- a/ext/ldap/ldap.c +++ b/ext/ldap/ldap.c @@ -2239,6 +2239,11 @@ static void php_ldap_do_modify(INTERNAL_FUNCTION_PARAMETERS, int oper, int ext) RETVAL_FALSE; goto cleanup; } + if (ZSTR_LEN(attribute) == 0) { + zend_argument_value_error(3, "key must not be empty"); + RETVAL_FALSE; + goto cleanup; + } if (zend_str_has_nul_byte(attribute)) { zend_argument_value_error(3, "key must not contain any null bytes"); RETVAL_FALSE; diff --git a/ext/ldap/tests/ldap_add_modify_delete_programming_errors.phpt b/ext/ldap/tests/ldap_add_modify_delete_programming_errors.phpt index 1d0d21e06de..ae3ec0be52e 100644 --- a/ext/ldap/tests/ldap_add_modify_delete_programming_errors.phpt +++ b/ext/ldap/tests/ldap_add_modify_delete_programming_errors.phpt @@ -134,9 +134,7 @@ try { --EXPECTF-- ValueError: ldap_add(): Argument #3 ($entry) must not be empty ValueError: ldap_add(): Argument #3 ($entry) must be an associative array of attribute => values - -Warning: ldap_add(): Add: Can't contact LDAP server in %s on line %d -bool(false) +ValueError: ldap_add(): Argument #3 ($entry) key must not be empty ValueError: ldap_add(): Argument #3 ($entry) key must not contain any null bytes Error: Object of class stdClass could not be converted to string ValueError: ldap_add(): Argument #3 ($entry) list of attribute values must not be empty