]> source.dussan.org Git - nextcloud-server.git/commitdiff
Fix undefined index and consequential damages in versions code
authorChristoph Wurst <christoph@winzerhof-wurst.at>
Thu, 8 Oct 2020 17:52:29 +0000 (19:52 +0200)
committerMorris Jobke <hey@morrisjobke.de>
Mon, 12 Oct 2020 20:17:06 +0000 (22:17 +0200)
If the user has no space and there are no versions, there won't be an
`all` index in the versions entry. Hence this triggers a warning and
becomes `null`, afterwards `count`, `foreach` and friends will happily
throw even more warnings and errors because they don't want to play with
`null`. Thus adding a fallback to an empty array.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
apps/files_versions/lib/Storage.php

index 3f4ccf7f0a2a7e3fc4b792147c180a89bd0ae7ed..f9dbe449e0da69a938402e9cdb0c2d18bbd75c3e 100644 (file)
@@ -776,7 +776,7 @@ class Storage {
                        // if still not enough free space we rearrange the versions from all files
                        if ($availableSpace <= 0) {
                                $result = Storage::getAllVersions($uid);
-                               $allVersions = $result['all'];
+                               $allVersions = $result['all'] ?? [];
 
                                foreach ($result['by_file'] as $versions) {
                                        list($toDeleteNew, $size) = self::getExpireList($time, $versions, $availableSpace <= 0);