From dc84b8a4c7ee2625a56784ba509f968fe7058888 Mon Sep 17 00:00:00 2001 From: Mike Hearn Date: Fri, 25 Mar 2005 16:38:50 +0000 Subject: [PATCH] Don't fault on NULL pointers in Is*Ptr functions. --- dlls/kernel/virtual.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/dlls/kernel/virtual.c b/dlls/kernel/virtual.c index d1c3a3c6384..3e42c50a702 100644 --- a/dlls/kernel/virtual.c +++ b/dlls/kernel/virtual.c @@ -526,6 +526,8 @@ BOOL WINAPI IsBadReadPtr( UINT size ) /* [in] Size of block */ { if (!size) return FALSE; /* handle 0 size case w/o reference */ + if (!ptr) return TRUE; + if (!page_size) page_size = getpagesize(); __TRY { @@ -564,6 +566,8 @@ BOOL WINAPI IsBadWritePtr( UINT size ) /* [in] Size of block in bytes */ { if (!size) return FALSE; /* handle 0 size case w/o reference */ + if (!ptr) return TRUE; + if (!page_size) page_size = getpagesize(); __TRY { @@ -641,6 +645,8 @@ BOOL WINAPI IsBadStringPtrA( LPCSTR str, /* [in] Address of string */ UINT max ) /* [in] Maximum size of string */ { + if (!str) return TRUE; + __TRY { volatile const char *p = str; @@ -662,6 +668,8 @@ BOOL WINAPI IsBadStringPtrA( */ BOOL WINAPI IsBadStringPtrW( LPCWSTR str, UINT max ) { + if (!str) return TRUE; + __TRY { volatile const WCHAR *p = str;