avifil32: Don't leak the buffer on HeapReAlloc() failure in AVISaveOptionsFmtChoose().
This commit is contained in:
parent
7ab7103946
commit
d34aba2a1c
|
@ -1225,13 +1225,14 @@ static BOOL AVISaveOptionsFmtChoose(HWND hWnd)
|
|||
acmMetrics(NULL, ACM_METRIC_MAX_SIZE_FORMAT, &size);
|
||||
if ((pOptions->cbFormat == 0 || pOptions->lpFormat == NULL) && size != 0) {
|
||||
pOptions->lpFormat = HeapAlloc(GetProcessHeap(), 0, size);
|
||||
if (!pOptions->lpFormat) return FALSE;
|
||||
pOptions->cbFormat = size;
|
||||
} else if (pOptions->cbFormat < (DWORD)size) {
|
||||
pOptions->lpFormat = HeapReAlloc(GetProcessHeap(), 0, pOptions->lpFormat, size);
|
||||
void *new_buffer = HeapReAlloc(GetProcessHeap(), 0, pOptions->lpFormat, size);
|
||||
if (!new_buffer) return FALSE;
|
||||
pOptions->lpFormat = new_buffer;
|
||||
pOptions->cbFormat = size;
|
||||
}
|
||||
if (pOptions->lpFormat == NULL)
|
||||
return FALSE;
|
||||
afmtc.pwfx = pOptions->lpFormat;
|
||||
afmtc.cbwfx = pOptions->cbFormat;
|
||||
|
||||
|
|
Loading…
Reference in New Issue