From 7ba1cadd41f73199bbae9322e8851eeda2ebc4ad Mon Sep 17 00:00:00 2001 From: sam marshall Date: Wed, 27 Feb 2019 10:58:02 +0000 Subject: [PATCH] MDL-64961 REST web service: Fatal error in error handler --- webservice/rest/locallib.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/webservice/rest/locallib.php b/webservice/rest/locallib.php index f0bd340b166..27005608436 100644 --- a/webservice/rest/locallib.php +++ b/webservice/rest/locallib.php @@ -150,7 +150,9 @@ class webservice_rest_server extends webservice_base_server { if ($this->restformat == 'json') { $errorobject = new stdClass; $errorobject->exception = get_class($ex); - $errorobject->errorcode = $ex->errorcode; + if (isset($ex->errorcode)) { + $errorobject->errorcode = $ex->errorcode; + } $errorobject->message = $ex->getMessage(); if (debugging() and isset($ex->debuginfo)) { $errorobject->debuginfo = $ex->debuginfo; @@ -159,8 +161,10 @@ class webservice_rest_server extends webservice_base_server { } else { $error = ''."\n"; $error .= ''."\n"; - $error .= '' . htmlspecialchars($ex->errorcode, ENT_COMPAT, 'UTF-8') - . '' . "\n"; + if (isset($ex->errorcode)) { + $error .= '' . htmlspecialchars($ex->errorcode, ENT_COMPAT, 'UTF-8') + . '' . "\n"; + } $error .= ''.htmlspecialchars($ex->getMessage(), ENT_COMPAT, 'UTF-8').''."\n"; if (debugging() and isset($ex->debuginfo)) { $error .= ''.htmlspecialchars($ex->debuginfo, ENT_COMPAT, 'UTF-8').''."\n";