From 4c99d556c8b065d62f1fc8f5c974e1a9fa9276ee Mon Sep 17 00:00:00 2001 From: Stefan Boberg Date: Thu, 25 May 2023 14:18:27 +0200 Subject: BasicFile::ReadAll should handle zero-sized files gracefully --- src/zenutil/basicfile.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'src/zenutil/basicfile.cpp') diff --git a/src/zenutil/basicfile.cpp b/src/zenutil/basicfile.cpp index 1e6043d7e..22acc346f 100644 --- a/src/zenutil/basicfile.cpp +++ b/src/zenutil/basicfile.cpp @@ -179,9 +179,16 @@ BasicFile::Read(void* Data, uint64_t BytesToRead, uint64_t FileOffset) IoBuffer BasicFile::ReadAll() { - IoBuffer Buffer(FileSize()); - Read(Buffer.MutableData(), Buffer.Size(), 0); - return Buffer; + if (const uint64_t Size = FileSize()) + { + IoBuffer Buffer(Size); + Read(Buffer.MutableData(), Size, 0); + return Buffer; + } + else + { + return {}; + } } void -- cgit v1.2.3