mciavi32: Propely handle Heap[Re]Alloc failure (resend)
Andrew Eikum
aeikum at codeweavers.com
Thu May 12 14:39:05 CDT 2016
Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>
Thanks. Just wondering, does this fix an issue in an application, or
you just happened to notice it?
Andrew
On Mon, May 09, 2016 at 01:56:07PM +0300, Kirill Smirnov wrote:
> From 6efc377709be073cd3775f815cd539b0fdb8c95c Mon Sep 17 00:00:00 2001
> From: "Kirill K. Smirnov" <kirill.k.smirnov at gmail.com>
> Date: Sun, 8 May 2016 19:10:44 +0300
> Subject: [PATCH] mciavi32: Propely handle Heap[Re]Alloc failure.
>
> Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov at gmail.com>
> ---
> 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;
> --
> 2.8.2
>
>
More information about the wine-patches
mailing list