From c347af5c6743a20c8aeeaf6540c27300ff2484f0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=B6rg=20H=C3=B6hle?= Date: Wed, 26 Sep 2012 09:04:39 +0200 Subject: [PATCH] mciseq: The code can only handle up to 128 MIDI tracks. --- dlls/mciseq/mcimidi.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/dlls/mciseq/mcimidi.c b/dlls/mciseq/mcimidi.c index 49435c8f53..4fcfb48c90 100644 --- a/dlls/mciseq/mcimidi.c +++ b/dlls/mciseq/mcimidi.c @@ -488,10 +488,10 @@ static DWORD MIDI_mciReadMThd(WINE_MCIMIDI* wmm, DWORD dwOffset) return MCIERR_INVALID_FILE; } - if (wmm->nTracks & 0x8000) { - /* this shouldn't be a problem... */ - WARN("Ouch !! Implementation limitation to 32k tracks per MIDI file is overflowed\n"); - wmm->nTracks = 0x7FFF; + if (wmm->nTracks > 0x80) { + /* wTrackNr is 7 bits only */ + FIXME("Truncating MIDI file with %u tracks\n", wmm->nTracks); + wmm->nTracks = 0x80; } if ((wmm->tracks = HeapAlloc(GetProcessHeap(), 0, sizeof(MCI_MIDITRACK) * wmm->nTracks)) == NULL) { -- 2.32.0.93.g670b81a890