diff --git a/Zend/zend_interfaces.c b/Zend/zend_interfaces.c index c0127feabbf68..ce9cc00fdfb95 100644 --- a/Zend/zend_interfaces.c +++ b/Zend/zend_interfaces.c @@ -412,13 +412,12 @@ ZEND_API int zend_user_serialize(zval *object, unsigned char **buffer, size_t *b zend_call_method_with_0_params( Z_OBJ_P(object), Z_OBJCE_P(object), NULL, "serialize", &retval); - if (Z_TYPE(retval) == IS_UNDEF || EG(exception)) { + if (Z_TYPE(retval) == IS_UNDEF) { result = FAILURE; } else { switch(Z_TYPE(retval)) { case IS_NULL: /* we could also make this '*buf_len = 0' but this allows to skip variables */ - zval_ptr_dtor(&retval); return FAILURE; case IS_STRING: *buffer = (unsigned char*)estrndup(Z_STRVAL(retval), Z_STRLEN(retval)); diff --git a/Zend/zend_object_handlers.c b/Zend/zend_object_handlers.c index b21d4db5abf69..076d2b8bbc2dd 100644 --- a/Zend/zend_object_handlers.c +++ b/Zend/zend_object_handlers.c @@ -877,7 +877,6 @@ ZEND_API zval *zend_std_read_property(zend_object *zobj, zend_string *name, int if (!((*guard) & IN_ISSET)) { GC_ADDREF(zobj); - ZVAL_UNDEF(&tmp_result); *guard |= IN_ISSET; zend_std_call_issetter(zobj, name, &tmp_result);