Fix issues with compressed NSO without a section

Avoid trying to decompress something that doesn't exist
This commit is contained in:
Thog 2018-12-17 15:58:48 +01:00
commit 711c48c80d
No known key found for this signature in database
GPG key ID: 0CD291558FAFDBC6

View file

@ -80,7 +80,7 @@ namespace Ryujinx.HLE.Loaders.Executables
Text = reader.ReadBytes(textSize); Text = reader.ReadBytes(textSize);
if (flags.HasFlag(NsoFlags.IsTextCompressed)) if (flags.HasFlag(NsoFlags.IsTextCompressed) && Text.Length != 0)
{ {
Text = Lz4.Decompress(Text, textDecSize); Text = Lz4.Decompress(Text, textDecSize);
} }
@ -90,7 +90,7 @@ namespace Ryujinx.HLE.Loaders.Executables
Ro = reader.ReadBytes(roSize); Ro = reader.ReadBytes(roSize);
if (flags.HasFlag(NsoFlags.IsRoCompressed)) if (flags.HasFlag(NsoFlags.IsRoCompressed) && Ro.Length != 0)
{ {
Ro = Lz4.Decompress(Ro, roDecSize); Ro = Lz4.Decompress(Ro, roDecSize);
} }
@ -100,7 +100,7 @@ namespace Ryujinx.HLE.Loaders.Executables
Data = reader.ReadBytes(dataSize); Data = reader.ReadBytes(dataSize);
if (flags.HasFlag(NsoFlags.IsDataCompressed)) if (flags.HasFlag(NsoFlags.IsDataCompressed) && Data.Length != 0)
{ {
Data = Lz4.Decompress(Data, dataDecSize); Data = Lz4.Decompress(Data, dataDecSize);
} }