From 94a95ffceb0ec16b333d13a0742a5e0c2c1ed93e Mon Sep 17 00:00:00 2001
From: Christoph Wurst <christoph@winzerhof-wurst.at>
Date: Tue, 16 Jun 2020 15:37:20 +0200
Subject: [PATCH] Fix invalid usage of \Exception::getResult

Only OCS exceptions have a getResult method. Any other exception will
cause another error due to this invalid method call.

This splits the catch into a specific one for OCS and then a generic one
for anything else that can't be handled.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
---
 ocs/v1.php | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/ocs/v1.php b/ocs/v1.php
index 983bfd5f77d..0c24aa814eb 100644
--- a/ocs/v1.php
+++ b/ocs/v1.php
@@ -67,9 +67,15 @@ try {
 	OC_API::setContentType();
 	http_response_code(405);
 	exit();
-} catch (Exception $ex) {
+} catch (\OC\OCS\Exception $ex) {
 	OC_API::respond($ex->getResult(), OC_API::requestedFormat());
 	exit();
+} catch (Throwable $ex) {
+	OC::$server->getLogger()->logException($ex);
+
+	OC_API::setContentType();
+	http_response_code(500);
+	exit();
 }
 
 /*
-- 
GitLab