diff options
author | Roeland Jago Douma <roeland@famdouma.nl> | 2018-11-05 18:27:43 +0300 |
---|---|---|
committer | Roeland Jago Douma <roeland@famdouma.nl> | 2018-11-09 15:23:52 +0300 |
commit | 8b03bf7d5abfbafd63c77224f9aa9fe21d705e70 (patch) | |
tree | d4df8aadf189391bfe90241014780769aeebdcd6 | |
parent | 9c7f09d2accd9c2eaaef9ed60781944d0cf7c453 (diff) |
Properly search the root of a shared external storage
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>
-rw-r--r-- | lib/private/Files/Cache/Wrapper/CacheJail.php | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/private/Files/Cache/Wrapper/CacheJail.php b/lib/private/Files/Cache/Wrapper/CacheJail.php index 1ad00ba44c5..2e9c60bee4b 100644 --- a/lib/private/Files/Cache/Wrapper/CacheJail.php +++ b/lib/private/Files/Cache/Wrapper/CacheJail.php @@ -93,7 +93,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() . '/'); } /** |