From: Yuxuan Shui <yshui@codeweavers.com> If no stream is selected, and a virtual stream index is used for ReadSample, source_reader_queue_response will use that virtual index to index reader->streams, resulting in out of bound access. --- dlls/mfreadwrite/reader.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dlls/mfreadwrite/reader.c b/dlls/mfreadwrite/reader.c index 68b90357928..fdbc40fc2ba 100644 --- a/dlls/mfreadwrite/reader.c +++ b/dlls/mfreadwrite/reader.c @@ -1543,7 +1543,7 @@ static HRESULT WINAPI source_reader_async_commands_callback_Invoke(IMFAsyncCallb } else { - stub_stream.index = command->u.read.stream_index; + stub_stream.index = hr == MF_E_MEDIA_SOURCE_NO_STREAMS_SELECTED ? 0 : stream_index; source_reader_queue_response(reader, &stub_stream, hr, MF_SOURCE_READERF_ERROR, 0, NULL); } } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/11174