Commit 0b1c4bfc authored by Thomas Müller's avatar Thomas Müller
Browse files

Merge pull request #15062 from owncloud/fix-15053-master

Handle session initialization errors and display error page 
parents 7ea5c47b 843fef04
......@@ -415,6 +415,7 @@ class OC {
// if session cant be started break with http 500 error
} catch (Exception $e) {
\OCP\Util::logException('base', $e);
//show the user a detailed error page
......@@ -18,7 +18,9 @@ namespace OC\Session;
class Internal extends Session {
public function __construct($name) {
set_error_handler(array($this, 'trapError'));
if (!isset($_SESSION)) {
throw new \Exception('Failed to start session');
......@@ -82,6 +84,10 @@ class Internal extends Session {
throw new \Exception('The session cannot be reopened - reopen() is ony to be used in unit testing.');
public function trapError($errorNumber, $errorString) {
throw new \ErrorException($errorString);
private function validateSession() {
if ($this->sessionClosed) {
throw new \Exception('Session has been closed - no further changes to the session as allowed');
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment