diff --git a/src/Util/ReversedFileReader.php b/src/Util/ReversedFileReader.php index bdc31f0cba..92c8cced18 100644 --- a/src/Util/ReversedFileReader.php +++ b/src/Util/ReversedFileReader.php @@ -95,6 +95,9 @@ class ReversedFileReader implements \Iterator if ($this->pos == 0) { return array_pop($buffer); } + if (is_null($buffer)) { + return null; + } if (count($buffer) > 1) { return array_pop($buffer); } diff --git a/tests/datasets/log/empty.friendica.log.txt b/tests/datasets/log/empty.friendica.log.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/src/Model/Log/ParsedLogIteratorTest.php b/tests/src/Model/Log/ParsedLogIteratorTest.php index df9f8393a9..3ed1a33aa6 100644 --- a/tests/src/Model/Log/ParsedLogIteratorTest.php +++ b/tests/src/Model/Log/ParsedLogIteratorTest.php @@ -145,4 +145,16 @@ class ParsedLogIteratorTest extends TestCase $pls = iterator_to_array($this->pli, false); self::assertCount(0, $pls); } + + public function testEmptyLogFile() + { + $logfile = dirname(__DIR__) . '/../../datasets/log/empty.friendica.log.txt'; + + $reader = new ReversedFileReader(); + $pli = new ParsedLogIterator($reader); + $pli->open($logfile); + + $pls = iterator_to_array($pli, false); + self::assertCount(0, $pls); + } }