]> source.dussan.org Git - nextcloud-server.git/commitdiff
Properly search the root of a shared external storage 12375/head
authorRoeland Jago Douma <roeland@famdouma.nl>
Mon, 5 Nov 2018 15:27:43 +0000 (16:27 +0100)
committerRoeland Jago Douma <roeland@famdouma.nl>
Fri, 9 Nov 2018 12:21:45 +0000 (13:21 +0100)
Fixes #1020

When an external storage is shared with you in full the root is ''
(empty). This adds an extra check for an empty jail basically.

Because if the jail is on the empty string. It matches all paths.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
lib/private/Files/Cache/Wrapper/CacheJail.php

index 75df45e257b099a4ead607da5af8c49e95866f46..57f58e7d8398f531450554e87aa281bd91a59941 100644 (file)
@@ -94,7 +94,7 @@ class CacheJail extends CacheWrapper {
 
        protected function filterCacheEntry($entry) {
                $rootLength = strlen($this->getRoot()) + 1;
-               return ($entry['path'] === $this->getRoot()) or (substr($entry['path'], 0, $rootLength) === $this->getRoot() . '/');
+               return $rootLength === 1 || ($entry['path'] === $this->getRoot()) || (substr($entry['path'], 0, $rootLength) === $this->getRoot() . '/');
        }
 
        /**