diff options
Diffstat (limited to 'ext/standard/var.c')
| -rw-r--r-- | ext/standard/var.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/ext/standard/var.c b/ext/standard/var.c index acb1d40c01..76d92a5fd3 100644 --- a/ext/standard/var.c +++ b/ext/standard/var.c @@ -1080,6 +1080,11 @@ PHP_FUNCTION(unserialize) in case nesting calls to unserialize */ var_push_dtor(&var_hash, return_value); + /* Ensure return value is a value */ + if (Z_ISREF_P(return_value)) { + zend_unwrap_reference(return_value); + } + PHP_VAR_UNSERIALIZE_DESTROY(var_hash); if (class_hash) { zend_hash_destroy(class_hash); |
