From: Bernhard Übelacker <bernhardu@mailbox.org> --- dlls/winmm/waveform.c | 1 + 1 file changed, 1 insertion(+) diff --git a/dlls/winmm/waveform.c b/dlls/winmm/waveform.c index a5729d17ae0..7a936a78343 100644 --- a/dlls/winmm/waveform.c +++ b/dlls/winmm/waveform.c @@ -956,6 +956,7 @@ static MMRESULT WINMM_MapDevice(WINMM_Device *device, BOOL is_query, BOOL is_out /* set up the ACM stream */ if(device->orig_fmt->wFormatTag != WAVE_FORMAT_PCM && !(device->orig_fmt->wFormatTag == WAVE_FORMAT_EXTENSIBLE && + device->orig_fmt->cbSize >= (sizeof(*fmtex) - sizeof(*device->orig_fmt)) && IsEqualGUID(&fmtex->SubFormat, &KSDATAFORMAT_SUBTYPE_PCM))){ /* convert to PCM format if it's not already */ mr = WINMM_TryDeviceMapping(device, device->orig_fmt, -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10264