From fab0888fb294da79c86105952600d31e3e005698 Mon Sep 17 00:00:00 2001 From: Christoph Wurst Date: Tue, 2 Jun 2020 09:21:09 +0200 Subject: [PATCH] Do not only catch Exceptions but any Throwable during rmt share delete When a remote share is deleted, we notify the remove instance. This may trigger various error conditions, which we want to catch in order to avoid undeletable shares. The try-catch, however, did only capture exceptions, so things like TypeErrors were not caught and caused the process to fail hard. Signed-off-by: Christoph Wurst --- apps/files_sharing/lib/External/Manager.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/files_sharing/lib/External/Manager.php b/apps/files_sharing/lib/External/Manager.php index c58e6e7b98a..14c1eaa33c2 100644 --- a/apps/files_sharing/lib/External/Manager.php +++ b/apps/files_sharing/lib/External/Manager.php @@ -526,7 +526,7 @@ class Manager { if ($result && $share !== false && (int)$share['share_type'] === Share::SHARE_TYPE_USER) { try { $this->sendFeedbackToRemote($share['remote'], $share['share_token'], $share['remote_id'], 'decline'); - } catch (\Exception $e) { + } catch (\Throwable $e) { // if we fail to notify the remote (probably cause the remote is down) // we still want the share to be gone to prevent undeletable remotes } @@ -636,7 +636,7 @@ class Manager { } $query = 'SELECT `id`, `remote`, `remote_id`, `share_token`, `name`, `owner`, `user`, `mountpoint`, `accepted` - FROM `*PREFIX*share_external` + FROM `*PREFIX*share_external` WHERE (`user` = ? OR `user` IN (?))'; $parameters = [$this->uid, implode(',',$userGroups)]; if (!is_null($accepted)) { -- 2.39.5