Avoid not necessary zeroing out of an allocated memory block

Dmitry Timoshkov dmitry at codeweavers.com
Wed Apr 12 05:32:22 CDT 2006


Hello,

Changelog:
    Avoid not necessary zeroing out of an allocated memory block
    if the code fills the allocated block right after the allocation.

diff -up cvs/hq/wine/dlls/avifil32/acmstream.c wine/dlls/avifil32/acmstream.c
--- cvs/hq/wine/dlls/avifil32/acmstream.c	2006-04-12 16:45:00.000000000 +0900
+++ wine/dlls/avifil32/acmstream.c	2006-04-12 16:58:32.000000000 +0900
@@ -712,7 +712,7 @@ static HRESULT AVIFILE_OpenCompressor(IA
     if (This->lpOutFormat == NULL) {
       /* we must decode to default format */
       This->cbOutFormat = sizeof(PCMWAVEFORMAT);
-      This->lpOutFormat = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, This->cbOutFormat);
+      This->lpOutFormat = HeapAlloc(GetProcessHeap(), 0, This->cbOutFormat);
       if (This->lpOutFormat == NULL)
 	return AVIERR_MEMORY;
 
diff -up cvs/hq/wine/dlls/avifil32/api.c wine/dlls/avifil32/api.c
--- cvs/hq/wine/dlls/avifil32/api.c	2006-04-12 16:45:00.000000000 +0900
+++ wine/dlls/avifil32/api.c	2006-04-12 17:09:51.000000000 +0900
@@ -1273,7 +1273,7 @@ static BOOL AVISaveOptionsFmtChoose(HWND
 			sInfo.dwStart, &size);
     if (size < (LONG)sizeof(PCMWAVEFORMAT))
       size = sizeof(PCMWAVEFORMAT);
-    afmtc.pwfxEnum = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, size);
+    afmtc.pwfxEnum = HeapAlloc(GetProcessHeap(), 0, size);
     if (afmtc.pwfxEnum != NULL) {
       AVIStreamReadFormat(SaveOpts.ppavis[SaveOpts.nCurrent],
 			  sInfo.dwStart, afmtc.pwfxEnum, &size);
@@ -1318,7 +1318,7 @@ static void AVISaveOptionsUpdate(HWND hW
     szFormat[0] = 0;
 
     /* read format to build format description string */
-    lpFormat = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, size);
+    lpFormat = HeapAlloc(GetProcessHeap(), 0, size);
     if (lpFormat != NULL) {
       if (SUCCEEDED(AVIStreamReadFormat(SaveOpts.ppavis[SaveOpts.nCurrent],sInfo.dwStart,lpFormat, &size))) {
 	if (sInfo.fccType == streamtypeVIDEO) {
@@ -1481,7 +1481,7 @@ BOOL WINAPI AVISaveOptions(HWND hWnd, UI
 
   /* save options in case the user presses cancel */
   if (ppOptions != NULL && nStreams > 1) {
-    pSavedOptions = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, nStreams * sizeof(AVICOMPRESSOPTIONS));
+    pSavedOptions = HeapAlloc(GetProcessHeap(), 0, nStreams * sizeof(AVICOMPRESSOPTIONS));
     if (pSavedOptions == NULL)
       return FALSE;
 
@@ -1719,7 +1719,8 @@ HRESULT WINAPI AVISaveVW(LPCWSTR szFile,
   }
 
   /* allocate buffer for formats, data, etc. of an initial size of 64 kBytes*/
-  lpBuffer = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, cbBuffer = 0x00010000);
+  cbBuffer = 0x00010000;
+  lpBuffer = HeapAlloc(GetProcessHeap(), 0, cbBuffer);
   if (lpBuffer == NULL) {
     hres = AVIERR_MEMORY;
     goto error;
@@ -1862,7 +1863,7 @@ HRESULT WINAPI AVISaveVW(LPCWSTR szFile,
 				 lFirstVideo - lStart[curStream], lpBuffer,
 				 cbBuffer, &lReadBytes, &lReadSamples);
 	  } while ((hres == AVIERR_BUFFERTOOSMALL) &&
-		   (lpBuffer = HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, lpBuffer, cbBuffer *= 2)) != NULL);
+		   (lpBuffer = HeapReAlloc(GetProcessHeap(), 0, lpBuffer, cbBuffer *= 2)) != NULL);
 	  if (lpBuffer == NULL)
 	    hres = AVIERR_MEMORY;
 	  if (FAILED(hres))
@@ -1931,7 +1932,7 @@ HRESULT WINAPI AVISaveVW(LPCWSTR szFile,
 	    hres = AVIStreamRead(pInStreams[curStream],sInfo.dwStart,lSamples,
 				 lpBuffer,cbBuffer,&lReadBytes,&lReadSamples);
 	  } while ((hres == AVIERR_BUFFERTOOSMALL) &&
-		   (lpBuffer = HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, lpBuffer, cbBuffer *= 2)) != NULL);
+		   (lpBuffer = HeapReAlloc(GetProcessHeap(), 0, lpBuffer, cbBuffer *= 2)) != NULL);
 	  if (lpBuffer == NULL)
 	    hres = AVIERR_MEMORY;
 	  if (FAILED(hres))
@@ -1977,7 +1978,7 @@ HRESULT WINAPI AVISaveVW(LPCWSTR szFile,
 	    hres = AVIStreamRead(pInStreams[curStream], sInfo.dwStart, 1,
 				 lpBuffer, cbBuffer,&lReadBytes,&lReadSamples);
 	  } while ((hres == AVIERR_BUFFERTOOSMALL) &&
-		   (lpBuffer = HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, lpBuffer, cbBuffer *= 2)) != NULL);
+		   (lpBuffer = HeapReAlloc(GetProcessHeap(), 0, lpBuffer, cbBuffer *= 2)) != NULL);
 	  if (lpBuffer == NULL)
 	    hres = AVIERR_MEMORY;
 	  if (FAILED(hres))
diff -up cvs/hq/wine/dlls/avifil32/editstream.c wine/dlls/avifil32/editstream.c
--- cvs/hq/wine/dlls/avifil32/editstream.c	2006-04-12 16:45:00.000000000 +0900
+++ wine/dlls/avifil32/editstream.c	2006-04-12 17:16:06.000000000 +0900
@@ -329,11 +329,11 @@ static BOOL AVIFILE_FormatsEqual(PAVISTR
     return FALSE;
 
   /* sizes match, now get formats and compare them */
-  fmt1 = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, size1);
+  fmt1 = HeapAlloc(GetProcessHeap(), 0, size1);
   if (fmt1 == NULL)
     return FALSE;
   if (SUCCEEDED(AVIStreamReadFormat(avi1, start1, fmt1, &size1))) {
-    fmt2 = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, size1);
+    fmt2 = HeapAlloc(GetProcessHeap(), 0, size1);
     if (fmt2 != NULL) {
       if (SUCCEEDED(AVIStreamReadFormat(avi2, start2, fmt2, &size1)))
         status = (memcmp(fmt1, fmt2, size1) == 0);
diff -up cvs/hq/wine/dlls/avifil32/getframe.c wine/dlls/avifil32/getframe.c
--- cvs/hq/wine/dlls/avifil32/getframe.c	2006-04-12 16:45:00.000000000 +0900
+++ wine/dlls/avifil32/getframe.c	2006-04-12 17:23:42.000000000 +0900
@@ -366,7 +366,7 @@ static HRESULT WINAPI IGetFrame_fnSetFor
     IAVIStream_ReadFormat(This->pStream, sInfo.dwStart,
 			  NULL, &This->cbInFormat);
 
-    This->lpInFormat = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, This->cbInFormat + This->cbInBuffer);
+    This->lpInFormat = HeapAlloc(GetProcessHeap(), 0, This->cbInFormat + This->cbInBuffer);
     if (This->lpInFormat == NULL) {
       AVIFILE_CloseCompressor(This);
       return AVIERR_MEMORY;
@@ -406,7 +406,7 @@ static HRESULT WINAPI IGetFrame_fnSetFor
   /* need memory for output format? */
   if (This->lpOutFormat == NULL) {
     This->lpOutFormat =
-      HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(BITMAPINFOHEADER) + 256 * sizeof(RGBQUAD));
+      HeapAlloc(GetProcessHeap(), 0, sizeof(BITMAPINFOHEADER) + 256 * sizeof(RGBQUAD));
     if (This->lpOutFormat == NULL) {
       AVIFILE_CloseCompressor(This);
       return AVIERR_MEMORY;
diff -up cvs/hq/wine/dlls/avifil32/icmstream.c wine/dlls/avifil32/icmstream.c
--- cvs/hq/wine/dlls/avifil32/icmstream.c	2006-04-12 16:45:01.000000000 +0900
+++ wine/dlls/avifil32/icmstream.c	2006-04-12 17:26:03.000000000 +0900
@@ -488,7 +488,7 @@ static HRESULT WINAPI ICMStream_fnSetFor
     size = ICCompressGetFormatSize(This->hic, This->lpbiInput);
     if (size < sizeof(BITMAPINFOHEADER))
       return AVIERR_COMPRESSOR;
-    This->lpbiOutput = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, size);
+    This->lpbiOutput = HeapAlloc(GetProcessHeap(), 0, size);
     if (This->lpbiOutput == NULL)
       return AVIERR_MEMORY;
     This->cbOutput = size;
@@ -517,7 +517,7 @@ static HRESULT WINAPI ICMStream_fnSetFor
     if (This->lKeyFrameEvery != 1 &&
 	(This->dwICMFlags & VIDCF_FASTTEMPORALC) == 0) {
       size = ICDecompressGetFormatSize(This->hic, This->lpbiOutput);
-      This->lpbiPrev = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, size);
+      This->lpbiPrev = HeapAlloc(GetProcessHeap(), 0, size);
       if (This->lpbiPrev == NULL)
 	return AVIERR_MEMORY;
       if (ICDecompressGetFormat(This->hic, This->lpbiOutput, This->lpbiPrev) < S_OK)
@@ -913,7 +913,7 @@ static HRESULT AVIFILE_OpenGetFrame(IAVI
   size = ICCompressGetFormatSize(This->hic, lpbi);
   if ((LONG)size < (LONG)sizeof(BITMAPINFOHEADER))
     return AVIERR_COMPRESSOR;
-  This->lpbiOutput = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, size);
+  This->lpbiOutput = HeapAlloc(GetProcessHeap(), 0, size);
   if (This->lpbiOutput == NULL)
     return AVIERR_MEMORY;
   This->cbOutput = size;
@@ -945,7 +945,7 @@ static HRESULT AVIFILE_OpenGetFrame(IAVI
   if (This->lKeyFrameEvery != 1 &&
       (This->dwICMFlags & VIDCF_FASTTEMPORALC) == 0) {
     size = ICDecompressGetFormatSize(This->hic, This->lpbiOutput);
-    This->lpbiPrev = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, size);
+    This->lpbiPrev = HeapAlloc(GetProcessHeap(), 0, size);
     if (This->lpbiPrev == NULL)
       return AVIERR_MEMORY;
     if (ICDecompressGetFormat(This->hic, This->lpbiOutput, This->lpbiPrev) < S_OK)





More information about the wine-patches mailing list