From 3e31838d19750d287431d22e9290856ec962fd6a Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Thu, 22 Jan 2015 11:50:42 +0300 Subject: zend_read_property() has to provide a holder for return value. Previously it was possible that zend_read_property() returned pointer to zval allocated on stack. --- ext/reflection/php_reflection.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'ext/reflection/php_reflection.c') diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c index 3f5c7a9062..c95ec0d81e 100644 --- a/ext/reflection/php_reflection.c +++ b/ext/reflection/php_reflection.c @@ -5013,13 +5013,14 @@ ZEND_METHOD(reflection_property, getValue) } else { const char *class_name, *prop_name; size_t prop_name_len; + zval rv; if (zend_parse_parameters(ZEND_NUM_ARGS(), "o", &object) == FAILURE) { return; } zend_unmangle_property_name_ex(ref->prop.name, &class_name, &prop_name, &prop_name_len); - member_p = zend_read_property(ref->ce, object, prop_name, prop_name_len, 1); + member_p = zend_read_property(ref->ce, object, prop_name, prop_name_len, 1, &rv); ZVAL_DUP(return_value, member_p); } } -- cgit v1.2.1