From 78bc2ae2826659817fbfc6ba9dacd21e30c55c2b Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Tue, 18 Jul 2006 13:44:39 +0000 Subject: [PATCH] * check parameters in CreateAcceleratorTableA/W and DestroyAcceleratorTable svn path=/trunk/; revision=23142 --- reactos/dll/win32/user32/windows/accel.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/reactos/dll/win32/user32/windows/accel.c b/reactos/dll/win32/user32/windows/accel.c index fe5409aa667..bf873491ef0 100644 --- a/reactos/dll/win32/user32/windows/accel.c +++ b/reactos/dll/win32/user32/windows/accel.c @@ -187,6 +187,9 @@ BOOL WINAPI DestroyAcceleratorTable(HACCEL hAccel) U32_ACCEL_CACHE_ENTRY ** ppEntry; ULONG_PTR nUsage = 0; + if (!hAccel) + return FALSE; + EnterCriticalSection(&U32AccelCacheLock); /* see if this accelerator table has been cached */ @@ -281,6 +284,8 @@ int WINAPI CopyAcceleratorTableW */ HACCEL WINAPI CreateAcceleratorTableW(LPACCEL lpaccl, int cEntries) { + if (!cEntries || !lpaccl) return (HACCEL)0; + return NtUserCreateAcceleratorTable(lpaccl, cEntries); } @@ -326,6 +331,8 @@ HACCEL WINAPI CreateAcceleratorTableA(LPACCEL lpaccl, int cEntries) { int i; + if (!cEntries || !lpaccl) return (HACCEL)0; + for(i = 0; i < cEntries; ++ i) if(!lpaccl[i].fVirt) {