From d10ca9ce466978bbf834b082223a34c636669311 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Sat, 4 Sep 1999 11:26:56 +0000 Subject: [PATCH] Fixed GMEM_ZEROINIT in GlobalRealloc (thanks to Gerard Patel). --- memory/global.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/memory/global.c b/memory/global.c index ad9fc74d896..6645f83afe7 100644 --- a/memory/global.c +++ b/memory/global.c @@ -1175,6 +1175,7 @@ HGLOBAL WINAPI GlobalReAlloc( HGLOBAL hnew; PGLOBAL32_INTERN pintern; HANDLE heap = GLOBAL_GetHeap( hmem ); + DWORD heap_flags = (flags & GMEM_ZEROINIT) ? HEAP_ZERO_MEMORY : 0; hnew = 0; /* HeapLock(heap); */ @@ -1216,7 +1217,7 @@ HGLOBAL WINAPI GlobalReAlloc( if(ISPOINTER(hmem)) { /* reallocate fixed memory */ - hnew=(HGLOBAL)HeapReAlloc(heap, 0, (LPVOID) hmem, size); + hnew=(HGLOBAL)HeapReAlloc(heap, heap_flags, (LPVOID) hmem, size); } else { @@ -1230,14 +1231,14 @@ HGLOBAL WINAPI GlobalReAlloc( hnew=hmem; if(pintern->Pointer) { - palloc=HeapReAlloc(heap, 0, + palloc=HeapReAlloc(heap, heap_flags, (char *) pintern->Pointer-sizeof(HGLOBAL), size+sizeof(HGLOBAL) ); pintern->Pointer=(char *) palloc+sizeof(HGLOBAL); } else { - palloc=HeapAlloc(heap, 0, size+sizeof(HGLOBAL)); + palloc=HeapAlloc(heap, heap_flags, size+sizeof(HGLOBAL)); *(HGLOBAL *)palloc=hmem; pintern->Pointer=(char *) palloc+sizeof(HGLOBAL); }