Kirill K. Smirnov : mciavi32: Propely handle Heap[Re]Alloc failure.
Alexandre Julliard
julliard at wine.codeweavers.com
Sat May 14 10:07:27 CDT 2016
Module: wine
Branch: master
Commit: ed79f458174d9db8e41d2b166fcc8acde7dfdeb9
URL: http://source.winehq.org/git/wine.git/?a=commit;h=ed79f458174d9db8e41d2b166fcc8acde7dfdeb9
Author: Kirill K. Smirnov <kirill.k.smirnov at gmail.com>
Date: Sun May 8 19:10:44 2016 +0300
mciavi32: Propely handle Heap[Re]Alloc failure.
Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov at gmail.com>
Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/mciavi32/mmoutput.c | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/dlls/mciavi32/mmoutput.c b/dlls/mciavi32/mmoutput.c
index d3badb6..c932ab4 100644
--- a/dlls/mciavi32/mmoutput.c
+++ b/dlls/mciavi32/mmoutput.c
@@ -229,14 +229,16 @@ static BOOL MCIAVI_AddFrame(WINE_MCIAVI* wma, LPMMCKINFO mmck,
alb->numAudioBlocks, mmck->cksize);
if (wma->lpWaveFormat) {
if (alb->numAudioBlocks >= alb->numAudioAllocated) {
- alb->numAudioAllocated += 32;
- if (!wma->lpAudioIndex)
- wma->lpAudioIndex = HeapAlloc(GetProcessHeap(), 0,
- alb->numAudioAllocated * sizeof(struct MMIOPos));
- else
- wma->lpAudioIndex = HeapReAlloc(GetProcessHeap(), 0, wma->lpAudioIndex,
- alb->numAudioAllocated * sizeof(struct MMIOPos));
- if (!wma->lpAudioIndex) return FALSE;
+ DWORD newsize = alb->numAudioAllocated + 32;
+ struct MMIOPos* newindex;
+
+ if (!wma->lpAudioIndex)
+ newindex = HeapAlloc(GetProcessHeap(), 0, newsize * sizeof(struct MMIOPos));
+ else
+ newindex = HeapReAlloc(GetProcessHeap(), 0, wma->lpAudioIndex, newsize * sizeof(struct MMIOPos));
+ if (!newindex) return FALSE;
+ alb->numAudioAllocated = newsize;
+ wma->lpAudioIndex = newindex;
}
wma->lpAudioIndex[alb->numAudioBlocks].dwOffset = mmck->dwDataOffset;
wma->lpAudioIndex[alb->numAudioBlocks].dwSize = mmck->cksize;
More information about the wine-cvs
mailing list