From 8e31249180593a5d629ddf23cbada5d5e8e4ae7d Mon Sep 17 00:00:00 2001
From: Andjelko Horvat <comel@vingd.com>
Date: Wed, 11 Sep 2013 14:54:58 +0000
Subject: [PATCH] SimpleSAML_SessionHandlerPHP::newSessionId(): fix for session
 start (introduced in r3271).

git-svn-id: https://simplesamlphp.googlecode.com/svn/trunk@3273 44740490-163a-0410-bde0-09ae8108e29a
---
 lib/SimpleSAML/SessionHandlerPHP.php | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/lib/SimpleSAML/SessionHandlerPHP.php b/lib/SimpleSAML/SessionHandlerPHP.php
index b95bdcb22..5b6ef5619 100644
--- a/lib/SimpleSAML/SessionHandlerPHP.php
+++ b/lib/SimpleSAML/SessionHandlerPHP.php
@@ -72,7 +72,12 @@ class SimpleSAML_SessionHandlerPHP extends SimpleSAML_SessionHandler {
 		/* Generate new (secure) session id. */
 		$sessionId = SimpleSAML_Utilities::stringToHex(SimpleSAML_Utilities::generateRandomBytes(16));
 		SimpleSAML_Session::createSession($sessionId);
-		session_id($sessionId);
+
+		if (session_id($sessionId) !== '') {
+			/* Session already started, close it. */
+			session_write_close();
+			session_id($sessionId);
+		}
 
 		session_start();
 
-- 
GitLab