* check parameters in CreateAcceleratorTableA/W and DestroyAcceleratorTable
authorJohannes Anderwald <johannes.anderwald@reactos.org>
Tue, 18 Jul 2006 13:44:39 +0000 (13:44 +0000)
committerJohannes Anderwald <johannes.anderwald@reactos.org>
Tue, 18 Jul 2006 13:44:39 +0000 (13:44 +0000)
svn path=/trunk/; revision=23142

reactos/dll/win32/user32/windows/accel.c

index fe5409a..bf87349 100644 (file)
@@ -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)
   {