Fix issues with compressed NSO without a section (#548)

* Fix issues with compressed NSO without a section

Avoid trying to decompress something that doesn't exist

* don't use the lengths of the buffer directly
This commit is contained in:
Thomas Guillemard 2018-12-22 18:42:48 +01:00 committed by gdkchan
parent 0039bb6394
commit d8f2497f15

View file

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