]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-7.0'
authorNikita Popov <nikic@php.net>
Tue, 10 May 2016 10:17:54 +0000 (12:17 +0200)
committerNikita Popov <nikic@php.net>
Tue, 10 May 2016 10:17:54 +0000 (12:17 +0200)
Conflicts:
ext/reflection/php_reflection.c

1  2 
ext/reflection/php_reflection.c

index 2a7ff61957c86653b980dcec39810609596c0d36,4c3f6240f4111de768fd771f35e2291d27631432..38cfec6aa91310f424dc41c721823be87b7a7c02
@@@ -5649,9 -5383,12 +5649,16 @@@ ZEND_METHOD(reflection_property, getVal
                }
  
                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, &rv);
-               ZVAL_DEREF(member_p);
-               ZVAL_COPY(return_value, member_p);
+               member_p = zend_read_property(ref->ce, object, prop_name, prop_name_len, 0, &rv);
+               if (member_p != &rv) {
++                      ZVAL_DEREF(member_p);
+                       ZVAL_COPY(return_value, member_p);
+               } else {
++                      if (Z_ISREF_P(member_p)) {
++                              zend_unwrap_reference(member_p);
++                      }
+                       ZVAL_COPY_VALUE(return_value, member_p);
+               }
        }
  }
  /* }}} */