com php-src: Allow property names from anonymous classes to be unmangled: Zend/zend_compile.c

From: Date: Thu, 06 Aug 2015 15:18:14 +0000
Subject: com php-src: Allow property names from anonymous classes to be unmangled: Zend/zend_compile.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-88596@lists.php.net to get a copy of this message
Commit: 7ecb761818c3adc7a650385a950a453867267248 Author: Steven Hilder <stevehilder@yahoo.co.uk> Thu, 6 Aug 2015 15:17:53 +0000 Parents: 90cb3bb7de3b7f4707a15cd6214c5d6aefda0057 Branches: master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=7ecb761818c3adc7a650385a950a453867267248 Log: Allow property names from anonymous classes to be unmangled Changed paths: M Zend/zend_compile.c Diff: diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 8fd71d0..146d854 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -1171,6 +1171,7 @@ static zend_always_inline size_t zend_strnlen(const char* s, size_t maxlen) /* { ZEND_API int zend_unmangle_property_name_ex(const zend_string *name, const char **class_name, const char **prop_name, size_t *prop_len) /* {{{ */ { size_t class_name_len; + size_t anonclass_src_len; *class_name = NULL; @@ -1201,6 +1202,10 @@ ZEND_API int zend_unmangle_property_name_ex(const zend_string *name, const char } *class_name = ZSTR_VAL(name) + 1; + anonclass_src_len = zend_strnlen(*class_name + class_name_len + 1, ZSTR_LEN(name) - class_name_len - 2); + if (class_name_len + anonclass_src_len + 2 != ZSTR_LEN(name)) { + class_name_len += anonclass_src_len + 1; + } *prop_name = ZSTR_VAL(name) + class_name_len + 2; if (prop_len) { *prop_len = ZSTR_LEN(name) - class_name_len - 2;

« previous php.cvs (#88596) next »