iliaa Wed Apr 5 02:28:06 2006 UTC Modified files: (Branch: PHP_5_1) /php-src/ext/standard var.c /php-src NEWS Log: Fixed bug #36957 (serialize() does not handle recursion). http://cvs.php.net/viewcvs.cgi/php-src/ext/standard/var.c?r1=1.203.2.6&r2=1.203.2.7&diff_format=u Index: php-src/ext/standard/var.c diff -u php-src/ext/standard/var.c:1.203.2.6 php-src/ext/standard/var.c:1.203.2.7 --- php-src/ext/standard/var.c:1.203.2.6 Fri Mar 10 08:42:56 2006 +++ php-src/ext/standard/var.c Wed Apr 5 02:28:06 2006 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: var.c,v 1.203.2.6 2006/03/10 08:42:56 dmitry Exp $ */ +/* $Id: var.c,v 1.203.2.7 2006/04/05 02:28:06 iliaa Exp $ */ @@ -815,10 +815,18 @@ if (zend_hash_get_current_data_ex(myht, (void **) &data, &pos) != SUCCESS || !data - || data == struc) { + || data == struc + || (Z_TYPE_PP(data) == IS_ARRAY && Z_ARRVAL_PP(data)->nApplyCount > 1) + ) { smart_str_appendl(buf, "N;", 2); } else { + if (Z_TYPE_PP(data) == IS_ARRAY) { + Z_ARRVAL_PP(data)->nApplyCount++; + } php_var_serialize_intern(buf, data, var_hash TSRMLS_CC); + if (Z_TYPE_PP(data) == IS_ARRAY) { + Z_ARRVAL_PP(data)->nApplyCount--; + } } } } http://cvs.php.net/viewcvs.cgi/php-src/NEWS?r1=1.2027.2.491&r2=1.2027.2.492&diff_format=u Index: php-src/NEWS diff -u php-src/NEWS:1.2027.2.491 php-src/NEWS:1.2027.2.492 --- php-src/NEWS:1.2027.2.491 Tue Apr 4 19:53:21 2006 +++ php-src/NEWS Wed Apr 5 02:28:06 2006 @@ -13,6 +13,7 @@ - Removed the E_STRICT deprecation notice from "var". (Ilia) - Fixed debug_zval_dump() to support private and protected members. (Dmitry) - Fixed SoapFault::getMessage(). (Dmitry) +- Fixed bug #36957 (serialize() does not handle recursion). (Ilia) - Fixed bug #36941 (ArrayIterator does not clone itself). (Marcus) - Fixed bug #36898 (__set() leaks in classes extending internal ones). (Tony, Dmitry)
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php