]> granicus.if.org Git - php/commitdiff
add test for #60634
authorArpad Ray <arpad@php.net>
Tue, 3 Jan 2012 21:47:16 +0000 (21:47 +0000)
committerArpad Ray <arpad@php.net>
Tue, 3 Jan 2012 21:47:16 +0000 (21:47 +0000)
ext/session/tests/bug60634.phpt [new file with mode: 0644]

diff --git a/ext/session/tests/bug60634.phpt b/ext/session/tests/bug60634.phpt
new file mode 100644 (file)
index 0000000..e2dfd15
--- /dev/null
@@ -0,0 +1,45 @@
+--TEST--
+Bug #60634 (Segmentation fault when trying to die() in SessionHandler::write())
+--INI--
+session.save_path=
+session.name=PHPSESSID
+--SKIPIF--
+<?php include('skipif.inc'); ?>
+--FILE--
+<?php
+
+ob_start();
+
+function open($save_path, $session_name) {
+    return true;
+}
+
+function close() {
+       die("close: goodbye cruel world\n");
+}
+
+function read($id) {
+       return '';
+}
+
+function write($id, $session_data) {
+       die("write: goodbye cruel world\n");
+}
+
+function destroy($id) {
+    return true;
+}
+
+function gc($maxlifetime) {
+    return true;
+}
+
+session_set_save_handler('open', 'close', 'read', 'write', 'destroy', 'gc');
+session_start();
+session_write_close();
+echo "um, hi\n";
+
+?>
+--EXPECTF--
+write: goodbye cruel world
+close: goodbye cruel world