Alexandre Julliard : kernelbase: Redirect heap allocation functions to ntdll.

Alexandre Julliard julliard at winehq.org
Wed Dec 11 16:35:08 CST 2019


Module: wine
Branch: master
Commit: 22b225083415a0c930abedd30b3cd823f6242c67
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=22b225083415a0c930abedd30b3cd823f6242c67

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Wed Dec 11 22:21:17 2019 +0100

kernelbase: Redirect heap allocation functions to ntdll.

Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/kernelbase/kernelbase.h    | 5 +++++
 dlls/kernelbase/kernelbase.spec | 2 +-
 dlls/kernelbase/main.c          | 2 +-
 dlls/kernelbase/path.c          | 1 +
 dlls/kernelbase/string.c        | 1 +
 5 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/dlls/kernelbase/kernelbase.h b/dlls/kernelbase/kernelbase.h
index d7de53c412..459ae88c71 100644
--- a/dlls/kernelbase/kernelbase.h
+++ b/dlls/kernelbase/kernelbase.h
@@ -54,4 +54,9 @@ static inline BOOL set_ntstatus( NTSTATUS status )
     return !status;
 }
 
+/* make the kernel32 names available */
+#define HeapAlloc(heap, flags, size) RtlAllocateHeap(heap, flags, size)
+#define HeapReAlloc(heap, flags, ptr, size) RtlReAllocateHeap(heap, flags, ptr, size)
+#define HeapFree(heap, flags, ptr) RtlFreeHeap(heap, flags, ptr)
+
 #endif /* __WINE_KERNELBASE_H */
diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec
index 032e379dc0..8e5e81d564 100644
--- a/dlls/kernelbase/kernelbase.spec
+++ b/dlls/kernelbase/kernelbase.spec
@@ -775,7 +775,7 @@
 @ stdcall HeapCompact(long long)
 @ stdcall HeapCreate(long long long)
 @ stdcall HeapDestroy(long)
-@ stdcall HeapFree(long long ptr)
+@ stdcall HeapFree(long long ptr) ntdll.RtlFreeHeap
 @ stdcall HeapLock(long)
 @ stdcall HeapQueryInformation(long long ptr long ptr)
 @ stdcall HeapReAlloc(long long ptr long) ntdll.RtlReAllocateHeap
diff --git a/dlls/kernelbase/main.c b/dlls/kernelbase/main.c
index b735e7dee9..1c8c83d229 100644
--- a/dlls/kernelbase/main.c
+++ b/dlls/kernelbase/main.c
@@ -28,8 +28,8 @@
 #include "winternl.h"
 
 #include "wine/debug.h"
-#include "wine/heap.h"
 #include "kernelbase.h"
+#include "wine/heap.h"
 
 WINE_DEFAULT_DEBUG_CHANNEL(kernelbase);
 
diff --git a/dlls/kernelbase/path.c b/dlls/kernelbase/path.c
index e9182a764d..23476694db 100644
--- a/dlls/kernelbase/path.c
+++ b/dlls/kernelbase/path.c
@@ -29,6 +29,7 @@
 #include "intshcut.h"
 #include "winternl.h"
 
+#include "kernelbase.h"
 #include "wine/debug.h"
 #include "wine/heap.h"
 
diff --git a/dlls/kernelbase/string.c b/dlls/kernelbase/string.c
index 9a4d8c0827..7c484e2858 100644
--- a/dlls/kernelbase/string.c
+++ b/dlls/kernelbase/string.c
@@ -24,6 +24,7 @@
 #include "shlwapi.h"
 #include "winternl.h"
 
+#include "kernelbase.h"
 #include "wine/debug.h"
 #include "wine/exception.h"
 




More information about the wine-cvs mailing list