[PATCH 4/5] kernelbase: Fix VirtualAlloc2() when called with NULL process handle.
Nikolay Sivov
nsivov at codeweavers.com
Fri May 20 01:36:53 CDT 2022
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
dlls/kernelbase/memory.c | 1 +
dlls/kernelbase/tests/process.c | 2 --
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/dlls/kernelbase/memory.c b/dlls/kernelbase/memory.c
index 656569220fa..416d7b52a16 100644
--- a/dlls/kernelbase/memory.c
+++ b/dlls/kernelbase/memory.c
@@ -352,6 +352,7 @@ LPVOID WINAPI DECLSPEC_HOTPATCH VirtualAlloc2( HANDLE process, void *addr, SIZE_
{
LPVOID ret = addr;
+ if (!process) process = GetCurrentProcess();
if (!set_ntstatus( NtAllocateVirtualMemoryEx( process, &ret, &size, type, protect, parameters, count )))
return NULL;
return ret;
diff --git a/dlls/kernelbase/tests/process.c b/dlls/kernelbase/tests/process.c
index 52c481a59e8..b83a25015b2 100644
--- a/dlls/kernelbase/tests/process.c
+++ b/dlls/kernelbase/tests/process.c
@@ -142,10 +142,8 @@ static void test_VirtualAlloc2(void)
size = 0x80000;
addr = pVirtualAlloc2(NULL, NULL, size, MEM_COMMIT, PAGE_EXECUTE_READWRITE, NULL, 0);
- todo_wine
ok(!!addr, "Failed to allocate, error %lu.\n", GetLastError());
ret = VirtualFree(addr, 0, MEM_RELEASE);
- todo_wine
ok(ret, "Unexpected return value %d, error %lu.\n", ret, GetLastError());
/* Placeholder splitting functionality */
--
2.35.1
More information about the wine-devel
mailing list