summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Zend/tests/type_declarations/typed_properties_021.phpt13
-rw-r--r--Zend/zend_API.c1
2 files changed, 8 insertions, 6 deletions
diff --git a/Zend/tests/type_declarations/typed_properties_021.phpt b/Zend/tests/type_declarations/typed_properties_021.phpt
index a9f82528d9..93a07771fb 100644
--- a/Zend/tests/type_declarations/typed_properties_021.phpt
+++ b/Zend/tests/type_declarations/typed_properties_021.phpt
@@ -6,10 +6,11 @@ class Foo {
public int $bar = BAR::BAZ;
}
-$foo = new Foo();
+try {
+ $foo = new Foo();
+} catch (Error $e) {
+ echo $e->getMessage(), "\n";
+}
?>
---EXPECTF--
-Fatal error: Uncaught Error: Class 'BAR' not found in %s:%d
-Stack trace:
-#0 {main}
- thrown in %s on line %d
+--EXPECT--
+Class 'BAR' not found
diff --git a/Zend/zend_API.c b/Zend/zend_API.c
index 3fef3733f7..8fab994297 100644
--- a/Zend/zend_API.c
+++ b/Zend/zend_API.c
@@ -1228,6 +1228,7 @@ ZEND_API int zend_update_class_constants(zend_class_entry *class_type) /* {{{ */
ZVAL_COPY(&tmp, val);
if (UNEXPECTED(zval_update_constant_ex(&tmp, ce) != SUCCESS)) {
+ zval_ptr_dtor(&tmp);
return FAILURE;
}
/* property initializers must always be evaluated with strict types */;