Module: wine Branch: master Commit: c0c58761e73faa13c654d47238a1a5db1277ba19 URL: https://source.winehq.org/git/wine.git/?a=commit;h=c0c58761e73faa13c654d4723...
Author: Zebediah Figura z.figura12@gmail.com Date: Tue Mar 5 10:56:59 2019 -0600
quartz/waveparser: Always allocate at least a WAVEFORMATEX for the source media type.
Signed-off-by: Zebediah Figura z.figura12@gmail.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/quartz/waveparser.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/dlls/quartz/waveparser.c b/dlls/quartz/waveparser.c index 2ea3dc0..1c3447f 100644 --- a/dlls/quartz/waveparser.c +++ b/dlls/quartz/waveparser.c @@ -287,10 +287,11 @@ static HRESULT WAVEParser_InputPin_PreConnect(IPin * iface, IPin * pConnectPin,
amt.majortype = MEDIATYPE_Audio; amt.formattype = FORMAT_WaveFormatEx; - amt.cbFormat = chunk.cb; + amt.cbFormat = max(chunk.cb, sizeof(WAVEFORMATEX)); amt.pbFormat = CoTaskMemAlloc(amt.cbFormat); + memset(amt.pbFormat, 0, amt.cbFormat); amt.pUnk = NULL; - IAsyncReader_SyncRead(This->pReader, pos, amt.cbFormat, amt.pbFormat); + IAsyncReader_SyncRead(This->pReader, pos, chunk.cb, amt.pbFormat); amt.subtype = MEDIATYPE_Audio; amt.subtype.Data1 = ((WAVEFORMATEX*)amt.pbFormat)->wFormatTag;