Alexandre Julliard : ntdll: Don' t free the DOS area when a broken app passes a NULL pointer to NtFreeVirtualMemory .
Module: wine Branch: master Commit: 8385f137b50242c632bd8f91a495a2b7e5adfee4 URL: http://source.winehq.org/git/wine.git/?a=commit;h=8385f137b50242c632bd8f91a4... Author: Alexandre Julliard <julliard(a)winehq.org> Date: Fri Dec 1 11:38:52 2006 +0100 ntdll: Don't free the DOS area when a broken app passes a NULL pointer to NtFreeVirtualMemory. --- dlls/ntdll/virtual.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/dlls/ntdll/virtual.c b/dlls/ntdll/virtual.c index c62390a..573072e 100644 --- a/dlls/ntdll/virtual.c +++ b/dlls/ntdll/virtual.c @@ -1430,6 +1430,9 @@ NTSTATUS WINAPI NtFreeVirtualMemory( HAN size = ROUND_SIZE( addr, size ); base = ROUND_ADDR( addr, page_mask ); + /* avoid freeing the DOS area when a broken app passes a NULL pointer */ + if (!base && !(type & MEM_SYSTEM)) return STATUS_INVALID_PARAMETER; + RtlEnterCriticalSection(&csVirtual); if (!(view = VIRTUAL_FindView( base )) ||
participants (1)
-
Alexandre Julliard