Merge pull request #55624 from nextcloud/fix/catch-nodes-systemtags

jtr/setupChecks-securityHeaders-output-clarity
John Molakvoæ 2025-10-08 21:06:12 +07:00 committed by GitHub
commit d907a77902
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 15 additions and 5 deletions

@ -539,14 +539,24 @@ class SystemTagPlugin extends \Sabre\DAV\ServerPlugin {
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;
}
}