summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Zach Hilman2018-10-25 14:23:56 -0400
committerGravatar Zach Hilman2018-10-25 14:23:56 -0400
commit9a87ece8376530b85df5e21daac317dd2393097c (patch)
tree33e583dae887a26a724b4661e470f74cf6c6fde5
parentMerge pull request #1579 from lioncash/usb (diff)
downloadyuzu-9a87ece8376530b85df5e21daac317dd2393097c.tar.gz
yuzu-9a87ece8376530b85df5e21daac317dd2393097c.tar.xz
yuzu-9a87ece8376530b85df5e21daac317dd2393097c.zip
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.
Diffstat (limited to '')
-rw-r--r--src/core/file_sys/ips_layer.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/core/file_sys/ips_layer.cpp b/src/core/file_sys/ips_layer.cpp
index 554eae9bc..999939d5a 100644
--- a/src/core/file_sys/ips_layer.cpp
+++ b/src/core/file_sys/ips_layer.cpp
@@ -99,7 +99,7 @@ VirtualFile PatchIPS(const VirtualFile& in, const VirtualFile& ips) {
99 u16 rle_size{}; 99 u16 rle_size{};
100 if (ips->ReadObject(&rle_size, offset) != sizeof(u16)) 100 if (ips->ReadObject(&rle_size, offset) != sizeof(u16))
101 return nullptr; 101 return nullptr;
102 rle_size = Common::swap16(data_size); 102 rle_size = Common::swap16(rle_size);
103 offset += sizeof(u16); 103 offset += sizeof(u16);
104 104
105 const auto data = ips->ReadByte(offset++); 105 const auto data = ips->ReadByte(offset++);