From: Xinchen Hui Date: Wed, 26 Feb 2014 03:21:52 +0000 (+0800) Subject: Fixed reference handling in zif_unserialize X-Git-Tag: POST_PHPNG_MERGE~412^2~523 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c146752812d65198f2e70a4a4818cdbfacc1d228;p=php Fixed reference handling in zif_unserialize --- diff --git a/ext/standard/var.c b/ext/standard/var.c index 6525b770e7..219cd6badb 100644 --- a/ext/standard/var.c +++ b/ext/standard/var.c @@ -978,9 +978,9 @@ PHP_FUNCTION(unserialize) } PHP_VAR_UNSERIALIZE_DESTROY(var_hash); - if (consumed) { - zval_dtor(consumed); - ZVAL_LONG(consumed, ((char*)p) - buf); + if (consumed && Z_ISREF_P(consumed)) { + zval_dtor(Z_REFVAL_P(consumed)); + ZVAL_LONG(Z_REFVAL_P(consumed), ((char*)p) - buf); } } /* }}} */