Skip to content

Commit 666e493

Browse files
committed
just unwrap
1 parent 88a296b commit 666e493

2 files changed

Lines changed: 4 additions & 10 deletions

File tree

ext/reflection/php_reflection.c

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6724,19 +6724,14 @@ ZEND_METHOD(ReflectionProperty, isReadable)
67246724
handle_magic_get:
67256725
if (ce->__get) {
67266726
if (obj && ce->__isset) {
6727-
if (ce->__isset->common.fn_flags & ZEND_ACC_RETURN_REFERENCE) {
6728-
//php_error_docref(NULL, E_WARNING, "__isset unexpectedly returned a reference!");
6729-
zend_error(E_WARNING, "__isset unexpectedly returned a reference!");
6730-
RETURN_FALSE;
6731-
}
6732-
67336727
uint32_t *guard = zend_get_property_guard(obj, ref->unmangled_name);
67346728
if (!((*guard) & ZEND_GUARD_PROPERTY_ISSET)) {
67356729
GC_ADDREF(obj);
67366730
*guard |= ZEND_GUARD_PROPERTY_ISSET;
67376731
zval member;
67386732
ZVAL_STR(&member, ref->unmangled_name);
67396733
zend_call_known_instance_method_with_1_params(ce->__isset, obj, return_value, &member);
6734+
zend_unwrap_reference(return_value);
67406735
*guard &= ~ZEND_GUARD_PROPERTY_ISSET;
67416736
OBJ_RELEASE(obj);
67426737
return;

ext/reflection/tests/gh22000.phpt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,8 @@ test('TestClass');
3333
--EXPECTF--
3434
a from global:bool(false)
3535
b from global:
36-
Warning: __isset unexpectedly returned a reference! in %s%eext%ereflection%etests%egh22000.php on line %d
36+
Notice: Only variable references should be returned by reference in /home/zaaarf/dev/irl/c/php/ext/reflection/tests/gh22000.php on line 13
3737
bool(false)
3838
c from global:
39-
Warning: __isset unexpectedly returned a reference! in %s%eext%ereflection%etests%egh22000.php on line %d
40-
bool(false)
41-
39+
Notice: Only variable references should be returned by reference in /home/zaaarf/dev/irl/c/php/ext/reflection/tests/gh22000.php on line 13
40+
bool(true)

0 commit comments

Comments
 (0)