cvs: php-src(PHP_5_2) /ext/standard array.c /ext/standard/tests/array bug30074.phpt
| From: | Brian Shire | Date: | Sun, 17 Dec 2006 20:09:48 +0000 |
| Subject: | cvs: php-src(PHP_5_2) /ext/standard array.c /ext/standard/tests/array bug30074.phpt | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-42125@lists.php.net to get a copy of this message | ||
shire Sun Dec 17 20:09:48 2006 UTC
Added files: (Branch: PHP_5_2)
/php-src/ext/standard/tests/array bug30074.phpt
Modified files:
/php-src/ext/standard array.c
Log:
Fixed bug #30074
extract with EXTR_REFS was setting EG(unitialized_zval_ptr)->is_ref=1, affecting subsequent
usage
Added test
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/array.c?r1=1.308.2.21.2.20&r2=1.308.2.21.2.21&diff_format=u
Index: php-src/ext/standard/array.c
diff -u php-src/ext/standard/array.c:1.308.2.21.2.20 php-src/ext/standard/array.c:1.308.2.21.2.21
--- php-src/ext/standard/array.c:1.308.2.21.2.20 Sun Dec 10 19:43:03 2006
+++ php-src/ext/standard/array.c Sun Dec 17 20:09:48 2006
@@ -21,7 +21,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: array.c,v 1.308.2.21.2.20 2006/12/10 19:43:03 iliaa Exp $ */
+/* $Id: array.c,v 1.308.2.21.2.21 2006/12/17 20:09:48 shire Exp $ */
#include "php.h"
#include "php_ini.h"
@@ -1436,7 +1436,7 @@
*orig_var = *entry;
} else {
- if ((*var_array)->refcount > 1) {
+ if ((*var_array)->refcount > 1 || *entry == EG(uninitialized_zval_ptr)) {
SEPARATE_ZVAL_TO_MAKE_IS_REF(entry);
} else {
(*entry)->is_ref = 1;
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/bug30074.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/array/bug30074.phpt
+++ php-src/ext/standard/tests/array/bug30074.phpt