Fix heap corruption by XEXP header patch not resizing headers correctly This should hopefully fix GTA IV's TU (for media ID 6AC07221 at least)

This commit is contained in:
emoose 2020-01-05 19:18:18 +00:00 committed by illusion
parent d47f2a6ef1
commit 35a3a60631
1 changed files with 1 additions and 9 deletions

View File

@ -250,15 +250,7 @@ int XexModule::ApplyPatch(XexModule* module) {
// Patch base XEX header
uint32_t original_image_size = module->image_size();
uint32_t header_target_size = patch_header->delta_headers_target_offset +
patch_header->delta_headers_source_size;
if (!header_target_size) {
header_target_size =
patch_header->size_of_target_headers; // unsure which is more correct..
}
size_t mem_size = module->xex_header_mem_.size();
uint32_t header_target_size = patch_header->size_of_target_headers;
// Increase xex header buffer length if needed
if (header_target_size > module->xex_header_mem_.size()) {