You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-09-12 18:50:20 -07:00
Added kernel32-limit_heap_old_exe patchset
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
From 764a3b19afc7519fa9568a402e094a944d56055c Mon Sep 17 00:00:00 2001
|
||||
From: Akihiro Sagawa <sagawa.aki@gmail.com>
|
||||
Date: Sun, 1 Jun 2025 15:42:40 +1000
|
||||
Subject: [PATCH] kernel32: Limit old exe to 3MB available space
|
||||
|
||||
Wine-bug: https://bugs.winehq.org/show_bug.cgi?id=44931
|
||||
---
|
||||
dlls/kernel32/heap.c | 9 ++++++---
|
||||
1 file changed, 6 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/kernel32/heap.c b/dlls/kernel32/heap.c
|
||||
index 1ec2f5cce0d..834f4d07e9b 100644
|
||||
--- a/dlls/kernel32/heap.c
|
||||
+++ b/dlls/kernel32/heap.c
|
||||
@@ -475,12 +475,15 @@ VOID WINAPI GlobalMemoryStatus( LPMEMORYSTATUS lpBuffer )
|
||||
if ( lpBuffer->dwAvailPhys + lpBuffer->dwAvailPageFile >= 2U*1024*1024*1024)
|
||||
lpBuffer->dwAvailPageFile = 2U*1024*1024*1024 - lpBuffer->dwAvailPhys - 1;
|
||||
|
||||
- /* limit page file size for really old binaries */
|
||||
+ /* limit value for really old binaries */
|
||||
+ /* use MAXLONG/2, so that dwAvailPhys + dwAvailPageFile < MAXLONG */
|
||||
if (nt->OptionalHeader.MajorSubsystemVersion < 4 ||
|
||||
nt->OptionalHeader.MajorOperatingSystemVersion < 4)
|
||||
{
|
||||
- if (lpBuffer->dwTotalPageFile > MAXLONG) lpBuffer->dwTotalPageFile = MAXLONG;
|
||||
- if (lpBuffer->dwAvailPageFile > MAXLONG) lpBuffer->dwAvailPageFile = MAXLONG;
|
||||
+ lpBuffer->dwTotalPhys = min(lpBuffer->dwTotalPhys, MAXLONG / 2);
|
||||
+ lpBuffer->dwAvailPhys = min(lpBuffer->dwAvailPhys, MAXLONG / 2);
|
||||
+ lpBuffer->dwTotalPageFile = min(lpBuffer->dwTotalPageFile, MAXLONG / 2);
|
||||
+ lpBuffer->dwAvailPageFile = min(lpBuffer->dwAvailPageFile, MAXLONG / 2);
|
||||
}
|
||||
#endif
|
||||
|
||||
--
|
||||
2.47.2
|
||||
|
1
patches/kernel32-limit_heap_old_exe/definition
Normal file
1
patches/kernel32-limit_heap_old_exe/definition
Normal file
@@ -0,0 +1 @@
|
||||
Fixes: [44931] kernel32: Limit old exe to 3MB available space
|
Reference in New Issue
Block a user