mirror of
https://github.com/ryujinx-mirror/ryujinx.git
synced 2024-11-28 10:00:50 +01:00
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:
parent
0039bb6394
commit
d8f2497f15
@ -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) && textSize != 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) && roSize != 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) && dataSize != 0)
|
||||||
{
|
{
|
||||||
Data = Lz4.Decompress(Data, dataDecSize);
|
Data = Lz4.Decompress(Data, dataDecSize);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user