From 02fa3253fe82673e14b03e78b4e30a61d8982c19 Mon Sep 17 00:00:00 2001
From: Christoph Wurst <christoph@winzerhof-wurst.at>
Date: Thu, 8 Oct 2020 19:52:29 +0200
Subject: [PATCH] Fix undefined index and consequential damages in versions
 code

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 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/apps/files_versions/lib/Storage.php b/apps/files_versions/lib/Storage.php
index 3f4ccf7f0a2..f9dbe449e0d 100644
--- a/apps/files_versions/lib/Storage.php
+++ b/apps/files_versions/lib/Storage.php
@@ -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);
-- 
GitLab