Check for failed allocations. Spotted by Martin Bealby.
Modified: trunk/reactos/lib/user32/windows/prop.c
_____
Modified: trunk/reactos/lib/user32/windows/prop.c
--- trunk/reactos/lib/user32/windows/prop.c 2005-12-12 20:15:23 UTC
(rev 20110)
+++ trunk/reactos/lib/user32/windows/prop.c 2005-12-12 20:24:20 UTC
(rev 20111)
@@ -70,6 +70,11 @@
if(Count > 0)
{
pli = RtlAllocateHeap(GetProcessHeap(), 0, Count);
+ if (pli == NULL)
+ {
+ SetLastError(ERROR_OUTOFMEMORY);
+ return -1;
+ }
Status = NtUserBuildPropList(hWnd, (LPVOID)pli, Count, &Count);
if(!NT_SUCCESS(Status))
@@ -132,6 +137,11 @@
if(Count > 0)
{
pli = RtlAllocateHeap(GetProcessHeap(), 0, Count);
+ if (pli == NULL)
+ {
+ SetLastError(ERROR_OUTOFMEMORY);
+ return -1;
+ }
Status = NtUserBuildPropList(hWnd, (LPVOID)pli, Count, &Count);
if(!NT_SUCCESS(Status))
@@ -194,6 +204,11 @@
if(Count > 0)
{
pli = RtlAllocateHeap(GetProcessHeap(), 0, Count);
+ if (pli == NULL)
+ {
+ SetLastError(ERROR_OUTOFMEMORY);
+ return -1;
+ }
Status = NtUserBuildPropList(hWnd, (LPVOID)pli, Count, &Count);
if(!NT_SUCCESS(Status))
@@ -256,6 +271,11 @@
if(Count > 0)
{
pli = RtlAllocateHeap(GetProcessHeap(), 0, Count);
+ if (pli == NULL)
+ {
+ SetLastError(ERROR_OUTOFMEMORY);
+ return -1;
+ }
Status = NtUserBuildPropList(hWnd, (LPVOID)pli, Count, &Count);
if(!NT_SUCCESS(Status))