dmime: Don't crash when DMSegment loads a MIDI file.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=31829
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Michael Stefaniuc 2018-07-16 23:39:01 +02:00 committed by Alexandre Julliard
parent 235f6da846
commit c8e493cb0c
1 changed files with 8 additions and 2 deletions

View File

@ -790,10 +790,16 @@ static HRESULT WINAPI seg_IPersistStream_Load(IPersistStream *iface, IStream *st
if (!stream)
return E_POINTER;
if (stream_get_chunk(stream, &riff) != S_OK || riff.id != FOURCC_RIFF)
if (stream_get_chunk(stream, &riff) != S_OK ||
(riff.id != FOURCC_RIFF && riff.id != mmioFOURCC('M','T','h','d')))
return DMUS_E_UNSUPPORTED_STREAM;
stream_reset_chunk_start(stream, &riff);
if (riff.id == mmioFOURCC('M','T','h','d')) {
FIXME("MIDI file loading not supported\n");
return S_OK;
}
hr = IDirectMusicObject_ParseDescriptor(&This->dmobj.IDirectMusicObject_iface, stream,
&This->dmobj.desc);
if (FAILED(hr))