diff options
| author | Felipe Pena <felipe@php.net> | 2012-01-28 21:02:09 +0000 |
|---|---|---|
| committer | Felipe Pena <felipe@php.net> | 2012-01-28 21:02:09 +0000 |
| commit | 2cb820275d83bc9730dd253c968ae8fd117f4beb (patch) | |
| tree | a82b40b58e1e5a5e26f690ce2536466d2b713102 | |
| parent | 6e77fce6a6bb6ba5dc69a5be13d8874f99bccf51 (diff) | |
| download | php-git-2cb820275d83bc9730dd253c968ae8fd117f4beb.tar.gz | |
- Fixed bug #60860 (session.save_handler=user without defined function core dumps)
| -rw-r--r-- | NEWS | 4 | ||||
| -rw-r--r-- | ext/session/mod_user.c | 7 | ||||
| -rw-r--r-- | ext/session/tests/bug60860.phpt | 17 |
3 files changed, 28 insertions, 0 deletions
@@ -8,6 +8,10 @@ PHP NEWS - OpenSSL: . Fix possible attack in SSL sockets with SSL 3.0 / TLS 1.0. CVE-2011-3389. (Scott) + +- Session: + . Fixed bug #60860 (session.save_handler=user without defined function core + dumps). (Felipe) 19 Jan 2012, PHP 5.4.0 RC6 diff --git a/ext/session/mod_user.c b/ext/session/mod_user.c index cf13e4b46e..2ff5302f78 100644 --- a/ext/session/mod_user.c +++ b/ext/session/mod_user.c @@ -80,6 +80,13 @@ PS_OPEN_FUNC(user) { zval *args[2]; STDVARS; + + if (PSF(open) == NULL) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, + "user session functions not defined"); + + return FAILURE; + } SESS_ZVAL_STRING((char*)save_path, args[0]); SESS_ZVAL_STRING((char*)session_name, args[1]); diff --git a/ext/session/tests/bug60860.phpt b/ext/session/tests/bug60860.phpt new file mode 100644 index 0000000000..12310205aa --- /dev/null +++ b/ext/session/tests/bug60860.phpt @@ -0,0 +1,17 @@ +--TEST-- +Bug #60860 (session.save_handler=user without defined function core dumps) +--SKIPIF-- +<?php include('skipif.inc'); ?> +--INI-- +session.save_handler=user +--FILE-- +<?php + +session_start(); +echo "ok\n"; + +?> +--EXPECTF-- +Warning: session_start(): user session functions not defined in %s on line 3 + +Fatal error: session_start(): Failed to initialize storage module: user (path: ) in %s on line 3 |
