From 8ae045287370826339ad296b6ddfa283cdb8b1d7 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Sat, 3 Dec 2022 13:08:10 -0800 Subject: [PATCH] Fix reading 0-length string data --- BurnOutSharp.Builder/Extensions.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/BurnOutSharp.Builder/Extensions.cs b/BurnOutSharp.Builder/Extensions.cs index afb9a9ad..b1436181 100644 --- a/BurnOutSharp.Builder/Extensions.cs +++ b/BurnOutSharp.Builder/Extensions.cs @@ -1356,7 +1356,8 @@ namespace BurnOutSharp.Builder while ((offset % 4) != 0) stringData.Padding = entry.Data.ReadUInt16(ref offset); - stringData.Value = entry.Data.ReadString(ref offset, Encoding.Unicode); + if (stringData.ValueLength != 0) + stringData.Value = entry.Data.ReadString(ref offset, Encoding.Unicode); while ((offset % 4) != 0) _ = entry.Data.ReadUInt16(ref offset); @@ -1470,7 +1471,8 @@ namespace BurnOutSharp.Builder while ((offset % 4) != 0) stringData.Padding = entry.Data.ReadUInt16(ref offset); - stringData.Value = entry.Data.ReadString(ref offset, Encoding.Unicode); + if (stringData.ValueLength != 0) + stringData.Value = entry.Data.ReadString(ref offset, Encoding.Unicode); while ((offset % 4) != 0) _ = entry.Data.ReadUInt16(ref offset);