From 977eb97b8fc726455584db641aa69a5c224ff751 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?C=C3=B4me=20Chilliet?= <come@opensides.be>
Date: Wed, 26 Apr 2017 15:38:47 +0200
Subject: [PATCH] Fixes #5477 Destroy session in case of fatal error to avoid
 lock out

---
 include/php_setup.inc | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/include/php_setup.inc b/include/php_setup.inc
index e35f28818..1c4ce0302 100644
--- a/include/php_setup.inc
+++ b/include/php_setup.inc
@@ -258,8 +258,8 @@ function gosaRaiseError($errno, $errstr, $errfile, $errline)
   $error_collector_mailto .= $mailto_trace;
 
   /* Flush in case of fatal errors */
-  set_error_handler('gosaRaiseError', E_WARNING | E_NOTICE | E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE | E_STRICT);
   if (preg_match('/^fatal/i', $errstr) || (PHP_ERROR_FATAL == 'TRUE')) {
+    session::destroy();
     if (PHP_ERROR_FATAL == 'TRUE') {
       $error_collector = str_replace('display: none;', '', $error_collector);
     }
@@ -267,6 +267,8 @@ function gosaRaiseError($errno, $errstr, $errfile, $errline)
     flush();
     exit;
   }
+
+  set_error_handler('gosaRaiseError', E_WARNING | E_NOTICE | E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE | E_STRICT);
 }
 
 /*!
-- 
GitLab