diff options
author | Louis Chemineau <louis@chmn.me> | 2024-07-01 16:52:23 +0200 |
---|---|---|
committer | backportbot[bot] <backportbot[bot]@users.noreply.github.com> | 2024-09-16 17:08:10 +0000 |
commit | 7c998509585a3300c78aa4f490ae7711f820c33e (patch) | |
tree | b2aca321097b029e6b56f7370714c6e330cb763b /lib/private | |
parent | c4eb1ac8fe2ceae5141b3b8748b6e7cd575d6284 (diff) | |
download | nextcloud-server-7c998509585a3300c78aa4f490ae7711f820c33e.tar.gz nextcloud-server-7c998509585a3300c78aa4f490ae7711f820c33e.zip |
fix(files): Ensure that the hash method does not return null
To match https://github.com/nextcloud/server/blob/beececf66068f57c416225efcde9b44ce5c2e835/lib/private/Files/View.php#L1050
- Fix https://github.com/nextcloud/server/issues/44110
Signed-off-by: Louis Chemineau <louis@chmn.me>
Diffstat (limited to 'lib/private')
-rw-r--r-- | lib/private/Files/Storage/Local.php | 11 | ||||
-rw-r--r-- | lib/private/Files/Storage/Wrapper/Availability.php | 1 |
2 files changed, 10 insertions, 2 deletions
diff --git a/lib/private/Files/Storage/Local.php b/lib/private/Files/Storage/Local.php index eec1c236116..fa239f13ec5 100644 --- a/lib/private/Files/Storage/Local.php +++ b/lib/private/Files/Storage/Local.php @@ -400,8 +400,15 @@ class Local extends \OC\Files\Storage\Common { return $result; } - public function hash($type, $path, $raw = false) { - return hash_file($type, $this->getSourcePath($path), $raw); + public function hash($type, $path, $raw = false): string|false { + /** @var string|false|null */ + $hash = hash_file($type, $this->getSourcePath($path), $raw); + + if ($hash === null) { + return false; + } + + return $hash; } public function free_space($path) { diff --git a/lib/private/Files/Storage/Wrapper/Availability.php b/lib/private/Files/Storage/Wrapper/Availability.php index 149cbbaa33b..6bd622e1c1b 100644 --- a/lib/private/Files/Storage/Wrapper/Availability.php +++ b/lib/private/Files/Storage/Wrapper/Availability.php @@ -315,6 +315,7 @@ class Availability extends Wrapper { return parent::hash($type, $path, $raw); } catch (StorageNotAvailableException $e) { $this->setUnavailable($e); + return false; } } |