diff options
| author | 2018-10-25 14:23:56 -0400 | |
|---|---|---|
| committer | 2018-10-25 14:23:56 -0400 | |
| commit | 9a87ece8376530b85df5e21daac317dd2393097c (patch) | |
| tree | 33e583dae887a26a724b4661e470f74cf6c6fde5 | |
| parent | Merge pull request #1579 from lioncash/usb (diff) | |
| download | yuzu-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.cpp | 2 |
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++); |