From: Bernhard Übelacker <bernhardu@mailbox.org> --- dlls/mmdevapi/client.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/dlls/mmdevapi/client.c b/dlls/mmdevapi/client.c index 4c23905aad8..0dede25c06f 100644 --- a/dlls/mmdevapi/client.c +++ b/dlls/mmdevapi/client.c @@ -360,9 +360,14 @@ skip: HRESULT validate_fmt(const WAVEFORMATEXTENSIBLE *fmt, BOOL compatible) { - WAVEFORMATEXTENSIBLE fmt2 = *fmt; + WAVEFORMATEXTENSIBLE fmt2 = {0}; HRESULT ret; + if (fmt->Format.wFormatTag != WAVE_FORMAT_EXTENSIBLE || fmt->Format.cbSize < sizeof(WAVE_FORMAT_EXTENSIBLE)) + *(WAVEFORMATEX*)&fmt2 = *(WAVEFORMATEX*)fmt; + else + fmt2 = *fmt; + /* Reduce non-extensible formats to extensible ones. */ if (fmt2.Format.wFormatTag != WAVE_FORMAT_EXTENSIBLE) { -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10326