diff --git a/apps/encryption/lib/Crypto/Encryption.php b/apps/encryption/lib/Crypto/Encryption.php index 6fa388e887..51c5122eb9 100644 --- a/apps/encryption/lib/Crypto/Encryption.php +++ b/apps/encryption/lib/Crypto/Encryption.php @@ -435,7 +435,7 @@ class Encryption implements IEncryptionModule { public function shouldEncrypt($path) { if ($this->util->shouldEncryptHomeStorage() === false) { $storage = $this->util->getStorage($path); - if ($storage->instanceOfStorage('\OCP\Files\IHomeStorage')) { + if ($storage && $storage->instanceOfStorage('\OCP\Files\IHomeStorage')) { return false; } } diff --git a/apps/encryption/lib/Util.php b/apps/encryption/lib/Util.php index 2b11b8151c..139dd3f50f 100644 --- a/apps/encryption/lib/Util.php +++ b/apps/encryption/lib/Util.php @@ -191,7 +191,7 @@ class Util { * get storage of path * * @param string $path - * @return \OC\Files\Storage\Storage + * @return \OC\Files\Storage\Storage|null */ public function getStorage($path) { return $this->files->getMount($path)->getStorage(); diff --git a/lib/private/Files/Filesystem.php b/lib/private/Files/Filesystem.php index bf94be273f..fade3b69fb 100644 --- a/lib/private/Files/Filesystem.php +++ b/lib/private/Files/Filesystem.php @@ -312,7 +312,7 @@ class Filesystem { * get the storage mounted at $mountPoint * * @param string $mountPoint - * @return \OC\Files\Storage\Storage + * @return \OC\Files\Storage\Storage|null */ public static function getStorage($mountPoint) { if (!self::$mounts) { diff --git a/lib/private/Files/Mount/MountPoint.php b/lib/private/Files/Mount/MountPoint.php index cbf3785c40..891bbc41c3 100644 --- a/lib/private/Files/Mount/MountPoint.php +++ b/lib/private/Files/Mount/MountPoint.php @@ -39,7 +39,7 @@ use OCP\ILogger; class MountPoint implements IMountPoint { /** - * @var \OC\Files\Storage\Storage $storage + * @var \OC\Files\Storage\Storage|null $storage */ protected $storage = null; protected $class; @@ -167,7 +167,7 @@ class MountPoint implements IMountPoint { } /** - * @return \OC\Files\Storage\Storage + * @return \OC\Files\Storage\Storage|null */ public function getStorage() { if (is_null($this->storage)) { diff --git a/lib/private/Files/Node/Folder.php b/lib/private/Files/Node/Folder.php index 36c4cbe58b..7b1eff47cd 100644 --- a/lib/private/Files/Node/Folder.php +++ b/lib/private/Files/Node/Folder.php @@ -76,7 +76,7 @@ class Folder extends Node implements \OCP\Files\Folder { /** * @param string $path - * @return string + * @return string|null */ public function getRelativePath($path) { if ($this->path === '' or $this->path === '/') { @@ -494,7 +494,7 @@ class Folder extends Node implements \OCP\Files\Folder { $mounts[] = $this->getMountPoint(); $mounts = array_filter($mounts, function (IMountPoint $mount) { - return $mount->getStorage(); + return $mount->getStorage() !== null; }); $storageIds = array_map(function (IMountPoint $mount) { return $mount->getStorage()->getCache()->getNumericStorageId(); diff --git a/lib/private/Search/Result/File.php b/lib/private/Search/Result/File.php index c3b0c4e375..f8779f8ccb 100644 --- a/lib/private/Search/Result/File.php +++ b/lib/private/Search/Result/File.php @@ -133,7 +133,11 @@ class File extends \OCP\Search\Result { $userID = $userSession->getUser()->getUID(); self::$userFolderCache = \OC::$server->getUserFolder($userID); } - return self::$userFolderCache->getRelativePath($path); + $relativePath = self::$userFolderCache->getRelativePath($path); + if ($relativePath === null) { + throw new \Exception("Search result not in user folder"); + } + return $relativePath; } /** diff --git a/lib/public/Files/Folder.php b/lib/public/Files/Folder.php index 3e90abdd94..292d53d776 100644 --- a/lib/public/Files/Folder.php +++ b/lib/public/Files/Folder.php @@ -55,7 +55,7 @@ interface Folder extends Node { * * @param string $path absolute path of an item in the folder * @throws \OCP\Files\NotFoundException - * @return string + * @return string|null * @since 6.0.0 */ public function getRelativePath($path); diff --git a/lib/public/Files/Mount/IMountPoint.php b/lib/public/Files/Mount/IMountPoint.php index 7315fd9703..51a5fbade4 100644 --- a/lib/public/Files/Mount/IMountPoint.php +++ b/lib/public/Files/Mount/IMountPoint.php @@ -48,7 +48,7 @@ interface IMountPoint { /** * Get the storage that is mounted * - * @return \OC\Files\Storage\Storage + * @return \OC\Files\Storage\Storage|null * @since 8.0.0 */ public function getStorage();