diff options
author | Carl Schwan <carl@carlschwan.eu> | 2022-04-19 10:56:54 +0200 |
---|---|---|
committer | Carl Schwan <carl@carlschwan.eu> | 2022-05-12 15:11:46 +0200 |
commit | 1c97611fa245c9dc710e768015f1021a440eb833 (patch) | |
tree | b08f9c17267a29174e2e65757a50d9e03fc0d593 /lib | |
parent | 0824f440f0007bdf1665e4a8d5b9fc482e235e9f (diff) | |
download | nextcloud-server-1c97611fa245c9dc710e768015f1021a440eb833.tar.gz nextcloud-server-1c97611fa245c9dc710e768015f1021a440eb833.zip |
Fix Call to a member function getSize() on bool
getFileInfo might return false, handle this case by ignoring the result
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/private/legacy/OC_Files.php | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/lib/private/legacy/OC_Files.php b/lib/private/legacy/OC_Files.php index 41ac20577b2..02e15fd08d5 100644 --- a/lib/private/legacy/OC_Files.php +++ b/lib/private/legacy/OC_Files.php @@ -145,21 +145,26 @@ class OC_Files { } self::lockFiles($view, $dir, $files); + $numberOfFiles = 0; + $fileSize = 0; /* Calculate filesize and number of files */ if ($getType === self::ZIP_FILES) { $fileInfos = []; - $fileSize = 0; foreach ($files as $file) { $fileInfo = \OC\Files\Filesystem::getFileInfo($dir . '/' . $file); - $fileSize += $fileInfo->getSize(); - $fileInfos[] = $fileInfo; + if ($fileInfo) { + $fileSize += $fileInfo->getSize(); + $fileInfos[] = $fileInfo; + } } $numberOfFiles = self::getNumberOfFiles($fileInfos); } elseif ($getType === self::ZIP_DIR) { $fileInfo = \OC\Files\Filesystem::getFileInfo($dir . '/' . $files); - $fileSize = $fileInfo->getSize(); - $numberOfFiles = self::getNumberOfFiles([$fileInfo]); + if ($fileInfo) { + $fileSize = $fileInfo->getSize(); + $numberOfFiles = self::getNumberOfFiles([$fileInfo]); + } } $streamer = new Streamer(\OC::$server->getRequest(), $fileSize, $numberOfFiles); |