7c0e4d
Backported from 5.4.20
7c0e4d
7c0e4d
From 336a8e1943af85bb49cb5986d897d967ba73dcc0 Mon Sep 17 00:00:00 2001
7c0e4d
From: Dmitry Stogov <dmitry@zend.com>
7c0e4d
Date: Mon, 10 Jun 2013 12:32:53 +0400
7c0e4d
Subject: [PATCH] Callback has to be restored in MSHUTDOWN
7c0e4d
7c0e4d
---
7c0e4d
 ext/session/session.c | 3 +++
7c0e4d
 1 file changed, 3 insertions(+)
7c0e4d
7c0e4d
diff --git a/ext/session/session.c b/ext/session/session.c
7c0e4d
index a3be9a7..d9989ba 100644
7c0e4d
--- a/ext/session/session.c
7c0e4d
+++ b/ext/session/session.c
7c0e4d
@@ -2221,6 +2221,9 @@ static PHP_MSHUTDOWN_FUNCTION(session) /* {{{ */
7c0e4d
 	PHP_MSHUTDOWN(ps_mm) (SHUTDOWN_FUNC_ARGS_PASSTHRU);
7c0e4d
 #endif
7c0e4d
 
7c0e4d
+	/* restore the orig callback */
7c0e4d
+	php_rfc1867_callback = php_session_rfc1867_orig_callback;
7c0e4d
+
7c0e4d
 	ps_serializers[PREDEFINED_SERIALIZERS].name = NULL;
7c0e4d
 	memset(&ps_modules[PREDEFINED_MODULES], 0, (MAX_MODULES-PREDEFINED_MODULES)*sizeof(ps_module *));
7c0e4d
 
7c0e4d
From ba3234888dfbe14dadac7ac6c403a58bc1fdd220 Mon Sep 17 00:00:00 2001
7c0e4d
From: Arpad Ray <arraypad@gmail.com>
7c0e4d
Date: Wed, 17 Jul 2013 11:02:48 +0100
7c0e4d
Subject: [PATCH] Fix bug #62129 - rfc1867 crashes php even though turned off
7c0e4d
7c0e4d
Patch by gxd305 at gmail dot com
7c0e4d
---
7c0e4d
 NEWS                  | 2 ++
7c0e4d
 ext/session/session.c | 7 +++++--
7c0e4d
 2 files changed, 7 insertions(+), 2 deletions(-)
7c0e4d
7c0e4d
diff --git a/ext/session/session.c b/ext/session/session.c
7c0e4d
index 5af3ef2..bbfe90e 100644
7c0e4d
--- a/ext/session/session.c
7c0e4d
+++ b/ext/session/session.c
7c0e4d
@@ -2221,8 +2221,11 @@ static PHP_MSHUTDOWN_FUNCTION(session) /* {{{ */
7c0e4d
 	PHP_MSHUTDOWN(ps_mm) (SHUTDOWN_FUNC_ARGS_PASSTHRU);
7c0e4d
 #endif
7c0e4d
 
7c0e4d
-	/* restore the orig callback */
7c0e4d
-	php_rfc1867_callback = php_session_rfc1867_orig_callback;
7c0e4d
+	/* reset rfc1867 callbacks */
7c0e4d
+	php_session_rfc1867_orig_callback = NULL;
7c0e4d
+	if (php_rfc1867_callback == php_session_rfc1867_callback) {
7c0e4d
+		php_rfc1867_callback = NULL;
7c0e4d
+	}
7c0e4d
 
7c0e4d
 	ps_serializers[PREDEFINED_SERIALIZERS].name = NULL;
7c0e4d
 	memset(&ps_modules[PREDEFINED_MODULES], 0, (MAX_MODULES-PREDEFINED_MODULES)*sizeof(ps_module *));