From a07fe81c3893e7daea8640fec1c28bc776944ca2 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Fri, 17 Jun 2005 13:52:58 +0000 Subject: [PATCH] Fixed bug #31402 (unserialize creates a field containing a reference when it should not) --- ext/standard/tests/serialize/bug31402.phpt | 4 ++-- ext/standard/var_unserializer.c | 2 +- ext/standard/var_unserializer.re | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ext/standard/tests/serialize/bug31402.phpt b/ext/standard/tests/serialize/bug31402.phpt index 4f8bf0ca5b..7aa3e744a0 100644 --- a/ext/standard/tests/serialize/bug31402.phpt +++ b/ext/standard/tests/serialize/bug31402.phpt @@ -54,7 +54,7 @@ object(y)(2) { ["A"]=> array(2) { [1]=> - &object(x)(1) { + object(x)(1) { ["i"]=> int(1) } @@ -65,7 +65,7 @@ object(y)(2) { } } ["B"]=> - &object(x)(1) { + object(x)(1) { ["i"]=> int(1) } diff --git a/ext/standard/var_unserializer.c b/ext/standard/var_unserializer.c index f554877501..50757b6328 100644 --- a/ext/standard/var_unserializer.c +++ b/ext/standard/var_unserializer.c @@ -1017,7 +1017,7 @@ yy86: } *rval = *rval_ref; (*rval)->refcount++; - (*rval)->is_ref = 1; + (*rval)->is_ref = 0; return 1; } diff --git a/ext/standard/var_unserializer.re b/ext/standard/var_unserializer.re index 78b93ca5e6..a4aee72e15 100644 --- a/ext/standard/var_unserializer.re +++ b/ext/standard/var_unserializer.re @@ -382,7 +382,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) } *rval = *rval_ref; (*rval)->refcount++; - (*rval)->is_ref = 1; + (*rval)->is_ref = 0; return 1; } -- 2.50.1