From: Joe Watkins Date: Sun, 3 Apr 2016 11:38:25 +0000 (+0100) Subject: fix #69537: __debugInfo with empty string for key gives error X-Git-Tag: php-7.0.6RC1~46 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=91c10662c887c0e0a80844b1655cf329c5c58352;p=php fix #69537: __debugInfo with empty string for key gives error --- diff --git a/Zend/tests/bug69537.phpt b/Zend/tests/bug69537.phpt new file mode 100644 index 0000000000..3151c35081 --- /dev/null +++ b/Zend/tests/bug69537.phpt @@ -0,0 +1,19 @@ +--TEST-- +Bug #69537 (__debugInfo with empty string for key gives error) +--FILE-- + 1]; + } +} + +var_dump(new Foo); +?> +--EXPECTF-- +object(Foo)#%d (%d) { + [""]=> + int(1) +} + diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index bc33e07d1f..13e774eaba 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -1216,7 +1216,7 @@ ZEND_API int zend_unmangle_property_name_ex(const zend_string *name, const char *class_name = NULL; - if (ZSTR_VAL(name)[0] != '\0') { + if (!ZSTR_LEN(name) || ZSTR_VAL(name)[0] != '\0') { *prop_name = ZSTR_VAL(name); if (prop_len) { *prop_len = ZSTR_LEN(name);