From 0e76bf22ed0422ce76c2ad65627af29a03956172 Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Sun, 1 Aug 2021 23:17:55 +0200 Subject: [PATCH] Fix crash when reading empty string from stream --- Source/Engine/Serialization/Stream.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Source/Engine/Serialization/Stream.cpp b/Source/Engine/Serialization/Stream.cpp index 9e04a970f..5e6176a03 100644 --- a/Source/Engine/Serialization/Stream.cpp +++ b/Source/Engine/Serialization/Stream.cpp @@ -27,6 +27,8 @@ void ReadStream::ReadStringAnsi(StringAnsi* data) } data->ReserveSpace(length); + if (length == 0) + return; char* ptr = data->Get(); ASSERT(ptr != nullptr); Read(ptr, length); @@ -44,6 +46,8 @@ void ReadStream::ReadStringAnsi(StringAnsi* data, int8 lock) } data->ReserveSpace(length); + if (length == 0) + return; char* ptr = data->Get(); ASSERT(ptr != nullptr); Read(ptr, length); @@ -68,6 +72,8 @@ void ReadStream::ReadString(String* data) } data->ReserveSpace(length); + if (length == 0) + return; Char* ptr = data->Get(); ASSERT(ptr != nullptr); Read(ptr, length); @@ -86,6 +92,8 @@ void ReadStream::ReadString(String* data, int16 lock) } data->ReserveSpace(length); + if (length == 0) + return; Char* ptr = data->Get(); ASSERT(ptr != nullptr); Read(ptr, length);