diff options
author | Felipe Pena <felipe@php.net> | 2010-11-02 18:34:56 +0000 |
---|---|---|
committer | Felipe Pena <felipe@php.net> | 2010-11-02 18:34:56 +0000 |
commit | 477b8a6664f7e5200cf8d5ae4f6733f6893e3d73 (patch) | |
tree | fbae9d21b7eea6d29ca8f8a3ee9bbac573819ea1 | |
parent | 4667771a5f014cf92bf467b7cdce558d68b3ebe5 (diff) | |
download | php-git-477b8a6664f7e5200cf8d5ae4f6733f6893e3d73.tar.gz |
- Fixed bug #53141 (autoload misbehaves if called from closing session)
patch by: ladislav at marek dot su
-rw-r--r-- | ext/session/session.c | 1 | ||||
-rw-r--r-- | ext/session/tests/bug53141.phpt | 26 |
2 files changed, 27 insertions, 0 deletions
diff --git a/ext/session/session.c b/ext/session/session.c index b913b9b05d..a71117554a 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -2074,6 +2074,7 @@ static PHP_MINFO_FUNCTION(session) /* {{{ */ static const zend_module_dep session_deps[] = { /* {{{ */ ZEND_MOD_OPTIONAL("hash") + ZEND_MOD_REQUIRED("spl") {NULL, NULL, NULL} }; /* }}} */ diff --git a/ext/session/tests/bug53141.phpt b/ext/session/tests/bug53141.phpt new file mode 100644 index 0000000000..765d2727e4 --- /dev/null +++ b/ext/session/tests/bug53141.phpt @@ -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 |