ips_layer: Use rle_size instead of data_size in RLE patch application

Prevents a potential bug when using RLE records in an IPS patch.
This commit is contained in:
Zach Hilman 2018-10-25 14:23:56 -04:00
parent 2bc2b32662
commit 9a87ece837

View File

@ -99,7 +99,7 @@ VirtualFile PatchIPS(const VirtualFile& in, const VirtualFile& ips) {
u16 rle_size{};
if (ips->ReadObject(&rle_size, offset) != sizeof(u16))
return nullptr;
rle_size = Common::swap16(data_size);
rle_size = Common::swap16(rle_size);
offset += sizeof(u16);
const auto data = ips->ReadByte(offset++);