felipe Tue, 02 Nov 2010 18:34:56 +0000 Revision: http://svn.php.net/viewvc?view=revision&revision=305034
Log: - Fixed bug #53141 (autoload misbehaves if called from closing session) patch by: ladislav at marek dot su Bug: http://bugs.php.net/53141 (Open) autoload misbehaves if called from closing session Changed paths: U php/php-src/branches/PHP_5_3/NEWS U php/php-src/branches/PHP_5_3/ext/session/session.c A php/php-src/branches/PHP_5_3/ext/session/tests/bug53141.phpt U php/php-src/trunk/ext/session/session.c A php/php-src/trunk/ext/session/tests/bug53141.phpt Modified: php/php-src/branches/PHP_5_3/NEWS =================================================================== --- php/php-src/branches/PHP_5_3/NEWS 2010-11-02 18:06:39 UTC (rev 305033) +++ php/php-src/branches/PHP_5_3/NEWS 2010-11-02 18:34:56 UTC (rev 305034) @@ -54,6 +54,8 @@ type is application/x-www-form-urlencoded or is not registered with PHP). (gm at tlink dot de, Gustavo) - Fixed bug #53144 (Segfault in SplObjectStorage::removeAll()). (Felipe) +- Fixed bug #53141 (autoload misbehaves if called from closing session). + (ladislav at marek dot su) - Fixed bug #53071 (SPLObjectStorage defeats gc_collect_cycles). (Gustavo) - Fixed bug #53006 (stream_get_contents has an unpredictable behavior when the underlying stream does not support seeking). (Gustavo) Modified: php/php-src/branches/PHP_5_3/ext/session/session.c =================================================================== --- php/php-src/branches/PHP_5_3/ext/session/session.c 2010-11-02 18:06:39 UTC (rev 305033) +++ php/php-src/branches/PHP_5_3/ext/session/session.c 2010-11-02 18:34:56 UTC (rev 305034) @@ -2282,6 +2282,7 @@ static const zend_module_dep session_deps[] = { /* {{{ */ ZEND_MOD_OPTIONAL("hash") + ZEND_MOD_REQUIRED("spl") {NULL, NULL, NULL} }; /* }}} */ Added: php/php-src/branches/PHP_5_3/ext/session/tests/bug53141.phpt =================================================================== --- php/php-src/branches/PHP_5_3/ext/session/tests/bug53141.phpt (rev 0) +++ php/php-src/branches/PHP_5_3/ext/session/tests/bug53141.phpt 2010-11-02 18:34:56 UTC (rev 305034) @@ -0,0 +1,26 @@ +--TEST-- +Bug #53141 (autoload misbehaves if called from closing session) +--SKIPIF-- +<?php include('skipif.inc'); ?> +--FILE-- +<?php +spl_autoload_register(function ($class) { + var_dump("Loading $class"); + eval('class Bar {}'); +}); + +class Foo +{ + function __sleep() + { + new Bar; + return array(); + } +} + +session_start(); +$_SESSION['foo'] = new Foo; + +?> +--EXPECT-- +string(11) "Loading Bar" \ No newline at end of file Property changes on: php/php-src/branches/PHP_5_3/ext/session/tests/bug53141.phpt ___________________________________________________________________ Added: svn:keywords + Id Rev Revision Added: svn:eol-style + native Modified: php/php-src/trunk/ext/session/session.c =================================================================== --- php/php-src/trunk/ext/session/session.c 2010-11-02 18:06:39 UTC (rev 305033) +++ php/php-src/trunk/ext/session/session.c 2010-11-02 18:34:56 UTC (rev 305034) @@ -2074,6 +2074,7 @@ static const zend_module_dep session_deps[] = { /* {{{ */ ZEND_MOD_OPTIONAL("hash") + ZEND_MOD_REQUIRED("spl") {NULL, NULL, NULL} }; /* }}} */ Added: php/php-src/trunk/ext/session/tests/bug53141.phpt =================================================================== --- php/php-src/trunk/ext/session/tests/bug53141.phpt (rev 0) +++ php/php-src/trunk/ext/session/tests/bug53141.phpt 2010-11-02 18:34:56 UTC (rev 305034) @@ -0,0 +1,26 @@ +--TEST-- +Bug #53141 (autoload misbehaves if called from closing session) +--SKIPIF-- +<?php include('skipif.inc'); ?> +--FILE-- +<?php +spl_autoload_register(function ($class) { + var_dump("Loading $class"); + eval('class Bar {}'); +}); + +class Foo +{ + function __sleep() + { + new Bar; + return array(); + } +} + +session_start(); +$_SESSION['foo'] = new Foo; + +?> +--EXPECT-- +string(11) "Loading Bar" \ No newline at end of file Property changes on: php/php-src/trunk/ext/session/tests/bug53141.phpt ___________________________________________________________________ Added: svn:keywords + Id Rev Revision Added: svn:eol-style + native
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php