[1/2] version: zero pad section up to virtual size
Ričardas Barkauskas
miegalius at gmail.com
Wed Nov 10 17:00:02 CST 2010
Allows GOG version of Temple of Elemental Evil to run instead of crash.
Ričardas Barkauskas
REalm
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-patches/attachments/20101111/3ee76207/attachment.htm>
-------------- next part --------------
From e8c28d3e49877474ed30735e78d60830707cf7c0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ri=C4=8Dardas=20Barkauskas?= <miegalius at gmail.com>
Date: Thu, 11 Nov 2010 00:35:46 +0200
Subject: version: zero pad section up to virtual size
---
dlls/version/resource.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/dlls/version/resource.c b/dlls/version/resource.c
index 64d39dd..91c954f 100644
--- a/dlls/version/resource.c
+++ b/dlls/version/resource.c
@@ -282,8 +282,12 @@ static BOOL find_pe_resource( HFILE lzfd, DWORD *resLen, DWORD *resOff )
}
/* Read in resource section */
- resSectionSize = sections[i].SizeOfRawData;
- resSection = HeapAlloc( GetProcessHeap(), 0, resSectionSize );
+ if ( sections[i].SizeOfRawData < sections[i].Misc.VirtualSize )
+ resSectionSize = sections[i].SizeOfRawData;
+ else
+ resSectionSize = sections[i].Misc.VirtualSize;
+
+ resSection = HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, sections[i].Misc.VirtualSize );
if ( !resSection )
{
HeapFree( GetProcessHeap(), 0, sections );
--
1.7.2.3
More information about the wine-patches
mailing list