diff --git a/apps/dav/lib/SystemTag/SystemTagPlugin.php b/apps/dav/lib/SystemTag/SystemTagPlugin.php index 4d4499c7559bd..0eed4334f29c6 100644 --- a/apps/dav/lib/SystemTag/SystemTagPlugin.php +++ b/apps/dav/lib/SystemTag/SystemTagPlugin.php @@ -526,14 +526,24 @@ public function handleUpdateProperties($path, PropPatch $propPatch) { private function canUpdateTagForFileIds(array $fileIds): bool { $user = $this->userSession->getUser(); $userFolder = $this->rootFolder->getUserFolder($user->getUID()); + foreach ($fileIds as $fileId) { - $nodes = $userFolder->getById((int)$fileId); - foreach ($nodes as $node) { - if (($node->getPermissions() & Constants::PERMISSION_UPDATE) === Constants::PERMISSION_UPDATE) { - return true; + try { + $nodes = $userFolder->getById((int)$fileId); + if (empty($nodes)) { + return false; + } + + foreach ($nodes as $node) { + if (($node->getPermissions() & Constants::PERMISSION_UPDATE) !== Constants::PERMISSION_UPDATE) { + return false; + } } + } catch (\Exception $e) { + return false; } } - return false; + + return true; } }