msvfw32: Simplify error handling in ICSeqCompressFrameStart
Bruno Jesus
00cpxxx at gmail.com
Mon Oct 19 04:47:56 CDT 2015
Signed-off-by: Bruno Jesus <00cpxxx at gmail.com>
I'm working on a proper fix to bug
https://bugs.winehq.org/show_bug.cgi?id=27595 and this is a necessary
cleanup.
-------------- next part --------------
---
dlls/msvfw32/msvideo_main.c | 21 ++++++---------------
1 file changed, 6 insertions(+), 15 deletions(-)
diff --git a/dlls/msvfw32/msvideo_main.c b/dlls/msvfw32/msvideo_main.c
index db56fdf..5aff706 100644
--- a/dlls/msvfw32/msvideo_main.c
+++ b/dlls/msvfw32/msvideo_main.c
@@ -1433,28 +1433,18 @@ BOOL VFWAPI ICSeqCompressFrameStart(PCOMPVARS pc, LPBITMAPINFO lpbiIn)
*pc->lpbiIn = *lpbiIn;
pc->lpBitsPrev = HeapAlloc(GetProcessHeap(), 0, pc->lpbiIn->bmiHeader.biSizeImage);
if (!pc->lpBitsPrev)
- {
- HeapFree(GetProcessHeap(), 0, pc->lpbiIn);
- return FALSE;
- }
+ goto error;
pc->lpState = HeapAlloc(GetProcessHeap(), 0, sizeof(ICCOMPRESS));
if (!pc->lpState)
- {
- HeapFree(GetProcessHeap(), 0, pc->lpbiIn);
- HeapFree(GetProcessHeap(), 0, pc->lpBitsPrev);
- return FALSE;
- }
+ goto error;
+
pc->cbState = sizeof(ICCOMPRESS);
pc->lpBitsOut = HeapAlloc(GetProcessHeap(), 0, pc->lpbiOut->bmiHeader.biSizeImage);
if (!pc->lpBitsOut)
- {
- HeapFree(GetProcessHeap(), 0, pc->lpbiIn);
- HeapFree(GetProcessHeap(), 0, pc->lpBitsPrev);
- HeapFree(GetProcessHeap(), 0, pc->lpState);
- return FALSE;
- }
+ goto error;
+
TRACE("Compvars:\n"
"\tpc:\n"
"\tsize: %i\n"
@@ -1483,6 +1473,7 @@ BOOL VFWAPI ICSeqCompressFrameStart(PCOMPVARS pc, LPBITMAPINFO lpbiIn)
icComp->lpbiPrev = &pc->lpbiIn->bmiHeader;
return TRUE;
}
+error:
HeapFree(GetProcessHeap(), 0, pc->lpbiIn);
HeapFree(GetProcessHeap(), 0, pc->lpBitsPrev);
HeapFree(GetProcessHeap(), 0, pc->lpState);
--
2.1.4
More information about the wine-patches
mailing list