Skip to content

Commit 97f5e6d

Browse files
committed
fix(systemtags): catch empty nodes
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
1 parent fcbb8be commit 97f5e6d

File tree

1 file changed

+15
-5
lines changed

1 file changed

+15
-5
lines changed

apps/dav/lib/SystemTag/SystemTagPlugin.php

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -539,14 +539,24 @@ public function handleUpdateProperties($path, PropPatch $propPatch) {
539539
private function canUpdateTagForFileIds(array $fileIds): bool {
540540
$user = $this->userSession->getUser();
541541
$userFolder = $this->rootFolder->getUserFolder($user->getUID());
542+
542543
foreach ($fileIds as $fileId) {
543-
$nodes = $userFolder->getById((int)$fileId);
544-
foreach ($nodes as $node) {
545-
if (($node->getPermissions() & Constants::PERMISSION_UPDATE) === Constants::PERMISSION_UPDATE) {
546-
return true;
544+
try {
545+
$nodes = $userFolder->getById((int)$fileId);
546+
if (empty($nodes)) {
547+
return false;
548+
}
549+
550+
foreach ($nodes as $node) {
551+
if (($node->getPermissions() & Constants::PERMISSION_UPDATE) !== Constants::PERMISSION_UPDATE) {
552+
return false;
553+
}
547554
}
555+
} catch (\Exception $e) {
556+
return false;
548557
}
549558
}
550-
return false;
559+
560+
return true;
551561
}
552562
}

0 commit comments

Comments
 (0)