From cd22887a97be9702880cbdb99db5f1e9443b2b6b Mon Sep 17 00:00:00 2001 From: Rafal Harabien Date: Wed, 23 Mar 2011 15:49:44 +0000 Subject: [PATCH] [NTOSKRNL] Revert r51108. ProbeForRead doesn't check if memory is readable. Improve comments and replace trick raising exception with call to ExRaiseAccessViolation. [WIN32K] Remove ASSERTs in IntSetSysColors: this function is only called in NtUserSetSysColors in SEH block. It shouldn't crash for NULL pointers. svn path=/trunk/; revision=51126 --- reactos/ntoskrnl/ex/exintrin.c | 12 +----------- reactos/subsystems/win32/win32k/objects/stockobj.c | 3 --- 2 files changed, 1 insertion(+), 14 deletions(-) diff --git a/reactos/ntoskrnl/ex/exintrin.c b/reactos/ntoskrnl/ex/exintrin.c index 3e9d5c3f6b5..df80cae1064 100644 --- a/reactos/ntoskrnl/ex/exintrin.c +++ b/reactos/ntoskrnl/ex/exintrin.c @@ -104,7 +104,6 @@ ProbeForRead(IN CONST VOID *Address, IN ULONG Alignment) { ULONG_PTR Last, Current = (ULONG_PTR)Address; - CHAR Temp; PAGED_CODE(); /* Only probe if we have a valid length */ @@ -132,16 +131,7 @@ ProbeForRead(IN CONST VOID *Address, ExRaiseAccessViolation(); } - /* Round down to the last page */ - Last = PAGE_ROUND_DOWN(Last) + PAGE_SIZE; - do - { - /* Attempt a read */ - Temp = *(volatile CHAR*)Current; - - /* Go to the next address */ - Current = PAGE_ROUND_DOWN(Current) + PAGE_SIZE; - } while (Current != Last); + /* ProbeForRead doesn't check if memory pages are readable! */ } } diff --git a/reactos/subsystems/win32/win32k/objects/stockobj.c b/reactos/subsystems/win32/win32k/objects/stockobj.c index ca8a5e744e2..1a4a65e3b9f 100644 --- a/reactos/subsystems/win32/win32k/objects/stockobj.c +++ b/reactos/subsystems/win32/win32k/objects/stockobj.c @@ -221,9 +221,6 @@ IntSetSysColors(UINT nColors, CONST INT *Elements, CONST COLORREF *Colors) { UINT i; - ASSERT(Elements); - ASSERT(Colors); - for (i = 0; i < nColors; i++) { if ((UINT)(*Elements) < NUM_SYSCOLORS)