[PATCH] kernel32: Correctly restore protection in set_entry_point().
Paul Gofman
pgofman at codeweavers.com
Tue Nov 2 07:29:57 CDT 2021
Signed-off-by: Paul Gofman <pgofman at codeweavers.com>
---
Passing NULL old protection results in VirtualProtect failure.
dlls/kernel32/kernel_main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/kernel32/kernel_main.c b/dlls/kernel32/kernel_main.c
index 89394e16430..4467af739e0 100644
--- a/dlls/kernel32/kernel_main.c
+++ b/dlls/kernel32/kernel_main.c
@@ -65,7 +65,7 @@ static void set_entry_point( HMODULE module, const char *name, DWORD rva )
TRACE( "setting %s at %p to %08x\n", name, &functions[ordinal], rva );
VirtualProtect( functions + ordinal, sizeof(*functions), PAGE_READWRITE, &oldprot );
functions[ordinal] = rva;
- VirtualProtect( functions + ordinal, sizeof(*functions), oldprot, NULL );
+ VirtualProtect( functions + ordinal, sizeof(*functions), oldprot, &oldprot );
return;
}
if (res > 0) max = pos - 1;
--
2.31.1
More information about the wine-devel
mailing list