From 513d8cea8ddbd62cdd17e017403e07052a8ac021 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Wed, 17 Aug 2022 21:10:15 +0200 Subject: [PATCH] - fixed allocation size when constructing a string from a file system entry. The internal allocator already added space for the terminazing \0, so the string's size was one character too large. --- src/common/filesystem/filesystem.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/common/filesystem/filesystem.cpp b/src/common/filesystem/filesystem.cpp index 5af6215fb67..50f3fcdbb86 100644 --- a/src/common/filesystem/filesystem.cpp +++ b/src/common/filesystem/filesystem.cpp @@ -1608,17 +1608,17 @@ FileData::~FileData () { } -FString::FString (ELumpNum lumpnum) +FString::FString(ELumpNum lumpnum) { - auto lumpr = fileSystem.OpenFileReader ((int)lumpnum); - auto size = lumpr.GetLength (); - AllocBuffer (1 + size); - auto numread = lumpr.Read (&Chars[0], size); + auto lumpr = fileSystem.OpenFileReader((int)lumpnum); + auto size = lumpr.GetLength(); + AllocBuffer(size); + auto numread = lumpr.Read(&Chars[0], size); Chars[size] = '\0'; if (numread != size) { - I_Error ("ConstructStringFromLump: Only read %ld of %ld bytes on lump %i (%s)\n", + I_Error("ConstructStringFromLump: Only read %ld of %ld bytes on lump %i (%s)\n", numread, size, lumpnum, fileSystem.GetFileFullName((int)lumpnum)); } }