Check for GMEM_ZEROINIT flag and pass HEAP_ZERO_MEMORY flag to RtlAllocateHeap if...
[reactos.git] / reactos / lib / kernel32 / mem / global.c
index ffe8780..5532043 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: global.c,v 1.7 2001/07/22 19:55:21 ea Exp $
+/* $Id: global.c,v 1.10 2002/10/28 15:08:32 robd Exp $
  *
  * Win32 Global/Local heap functions (GlobalXXX, LocalXXX).
  * These functions included in Win32 for compatibility with 16 bit Windows
@@ -46,7 +46,10 @@ GlobalAlloc(UINT uFlags,
 
    if ((uFlags & GMEM_MOVEABLE)==0) /* POINTER */
      {
-       return ((HGLOBAL)RtlAllocateHeap(hProcessHeap, 0, dwBytes));
+       if ((uFlags & GMEM_ZEROINIT)==0)
+          return ((HGLOBAL)RtlAllocateHeap(hProcessHeap, 0, dwBytes));
+          else
+          return ((HGLOBAL)RtlAllocateHeap(hProcessHeap, HEAP_ZERO_MEMORY, dwBytes));
      }
    else  /* HANDLE */
      {