Don't use MenuCleanupRosMenuItemInfo for an array of Items allocated on the heap!
authorColin Finck <colin@reactos.org>
Sat, 14 Jun 2008 00:00:20 +0000 (00:00 +0000)
committerColin Finck <colin@reactos.org>
Sat, 14 Jun 2008 00:00:20 +0000 (00:00 +0000)
This function is meant to be used for a single menu item info and just frees the memory allocated for dwTypeInfo.

Replaced this with a simple HeapFree call to free the memory for the whole array allocated in MenuGetAllRosMenuItemInfo.
Fixes a heap corruption discovered by encoded.

See issue #3349 for more details.

svn path=/trunk/; revision=33959

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

index 57b7ac8..bf187f4 100644 (file)
@@ -3963,7 +3963,7 @@ MenuCheckMenuRadioItem(HMENU hMenu, UINT idFirst, UINT idLast, UINT idCheck, UIN
         break;
       }
   }
-  MenuCleanupRosMenuItemInfo(Items);
+  HeapFree(GetProcessHeap(), 0, Items);
 
   *pChecked += cChecked;
   *pUnchecked += cUnchecked;