From: Etienne Kneuss Date: Tue, 30 Dec 2008 23:34:29 +0000 (+0000) Subject: MFH: Fix #45820 (Empty ArrayObject keys not allowed) X-Git-Tag: php-5.3.0beta1~341 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b296c25ba286e4a8ddb97d1b9fbfc696d25a8b3c;p=php MFH: Fix #45820 (Empty ArrayObject keys not allowed) --- diff --git a/NEWS b/NEWS index ead7b83256..96d6dade5c 100644 --- a/NEWS +++ b/NEWS @@ -33,6 +33,7 @@ PHP NEWS (Scott) - Fixed bug #45989 (json_decode() doesn't return NULL on certain invalid strings). (magicaltux, Scott) +- Fixed bug #45820 (Allow empty keys in ArrayObject). (Etienne) - Fixed bug #45791 (json_decode() doesn't convert 0e0 to a double). (Scott) 04 Dec 2008, PHP 5.3.0 Alpha 3 diff --git a/ext/spl/spl_array.c b/ext/spl/spl_array.c index fb4d12a7de..dd423ab683 100755 --- a/ext/spl/spl_array.c +++ b/ext/spl/spl_array.c @@ -433,10 +433,6 @@ static void spl_array_write_dimension_ex(int check_inherited, zval *object, zval } switch(Z_TYPE_P(offset)) { case IS_STRING: - if (*Z_STRVAL_P(offset) == '\0') { - zend_throw_exception(spl_ce_InvalidArgumentException, "An offset must not begin with \\0 or be empty", 0 TSRMLS_CC); - return; - } Z_ADDREF_P(value); zend_symtable_update(spl_array_get_hash_table(intern, 0 TSRMLS_CC), Z_STRVAL_P(offset), Z_STRLEN_P(offset)+1, (void**)&value, sizeof(void*), NULL); return; diff --git a/ext/spl/tests/array_018.phpt b/ext/spl/tests/array_018.phpt index 996d276e04..7c68a6280e 100755 Binary files a/ext/spl/tests/array_018.phpt and b/ext/spl/tests/array_018.phpt differ