diff options
author | Liam JACK <liamjack@users.noreply.github.com> | 2020-04-12 15:35:17 +0200 |
---|---|---|
committer | Liam JACK <liamjack@users.noreply.github.com> | 2020-04-12 15:35:17 +0200 |
commit | b6c76f43a17822bc0d7eee0270e0c00bd6325865 (patch) | |
tree | 62a2e2cf7b6876d32cec37553f814a882b407b00 /apps/files_versions | |
parent | 89242142998475fa94f27f99b02c4429b0b9bffd (diff) | |
download | nextcloud-server-b6c76f43a17822bc0d7eee0270e0c00bd6325865.tar.gz nextcloud-server-b6c76f43a17822bc0d7eee0270e0c00bd6325865.zip |
Fix #19066 - Array offset error due to empty file versions array
Signed-off-by: Liam JACK <liamjack@users.noreply.github.com>
Diffstat (limited to 'apps/files_versions')
-rw-r--r-- | apps/files_versions/lib/Storage.php | 5 | ||||
-rw-r--r-- | apps/files_versions/tests/VersioningTest.php | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/apps/files_versions/lib/Storage.php b/apps/files_versions/lib/Storage.php index cb5a02581b5..2b896a0cf67 100644 --- a/apps/files_versions/lib/Storage.php +++ b/apps/files_versions/lib/Storage.php @@ -641,6 +641,11 @@ class Storage { } $firstVersion = reset($versions); + + if ($firstVersion === false) { + return [$toDelete, $size]; + } + $firstKey = key($versions); $prevTimestamp = $firstVersion['version']; $nextVersion = $firstVersion['version'] - $step; diff --git a/apps/files_versions/tests/VersioningTest.php b/apps/files_versions/tests/VersioningTest.php index 26429574364..b6d317ea25e 100644 --- a/apps/files_versions/tests/VersioningTest.php +++ b/apps/files_versions/tests/VersioningTest.php @@ -274,6 +274,11 @@ class VersioningTest extends \Test\TestCase { ], 9 // size of all deleted files (every file has the size 1) ], + // fourth set of versions: empty (see issue #19066) + [ + [], + 0 + ] ]; } |