diff --git a/lib/ACL/ACLCacheWrapper.php b/lib/ACL/ACLCacheWrapper.php index 17df40bea..05d3c867e 100644 --- a/lib/ACL/ACLCacheWrapper.php +++ b/lib/ACL/ACLCacheWrapper.php @@ -44,7 +44,7 @@ private function getACLPermissionsForPath(string $path, array $rules = []): int protected function formatCacheEntry($entry, array $rules = []): ICacheEntry|false { if (isset($entry['permissions'])) { - $entry['scan_permissions'] = $entry['permissions']; + $entry['scan_permissions'] ??= $entry['permissions']; $entry['permissions'] &= $this->getACLPermissionsForPath($entry['path'], $rules); if (!$entry['permissions']) { return false; diff --git a/lib/Mount/CacheRootPermissionsMask.php b/lib/Mount/CacheRootPermissionsMask.php index 80e9d12a7..c85f2d30a 100644 --- a/lib/Mount/CacheRootPermissionsMask.php +++ b/lib/Mount/CacheRootPermissionsMask.php @@ -24,7 +24,7 @@ public function __construct( protected function formatCacheEntry($entry): ICacheEntry|false { $isRoot = $entry->getId() === $this->rootId; if (isset($entry['permissions']) && $isRoot) { - $entry['scan_permissions'] = $entry['permissions']; + $entry['scan_permissions'] ??= $entry['permissions']; $entry['permissions'] &= $this->mask; }