From 91c10662c887c0e0a80844b1655cf329c5c58352 Mon Sep 17 00:00:00 2001 From: Joe Watkins Date: Sun, 3 Apr 2016 12:38:25 +0100 Subject: [PATCH] fix #69537: __debugInfo with empty string for key gives error --- Zend/tests/bug69537.phpt | 19 +++++++++++++++++++ Zend/zend_compile.c | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 Zend/tests/bug69537.phpt diff --git a/Zend/tests/bug69537.phpt b/Zend/tests/bug69537.phpt new file mode 100644 index 00000000000..3151c350815 --- /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 bc33e07d1fa..13e774eaba8 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);