diff options
Diffstat (limited to 'php/src')
-rw-r--r-- | php/src/php7/Types.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/php/src/php7/Types.cpp b/php/src/php7/Types.cpp index a88731f83c4..6fa993d360c 100644 --- a/php/src/php7/Types.cpp +++ b/php/src/php7/Types.cpp @@ -3230,6 +3230,10 @@ IcePHP::ExceptionInfo::printMembers(zval* zv, IceUtilInternal::Output& out, Prin zval* val = zend_hash_str_find(Z_OBJPROP_P(zv), STRCAST(member->name.c_str()), static_cast<int>(member->name.size())); + + assert(Z_TYPE_P(val) == IS_INDIRECT); + val = Z_INDIRECT_P(val); + if(val) { member->type->print(val, out, history); @@ -3248,6 +3252,10 @@ IcePHP::ExceptionInfo::printMembers(zval* zv, IceUtilInternal::Output& out, Prin zval* val = zend_hash_str_find(Z_OBJPROP_P(zv), STRCAST(member->name.c_str()), static_cast<int>(member->name.size())); + + assert(Z_TYPE_P(val) == IS_INDIRECT); + val = Z_INDIRECT_P(val); + if(val) { if(isUnset(val)) |