Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#3242 closed defect (fixed)

AUDIO: ITE: Random crashes with the MIDI parser

Reported by: bluegr Owned by: bluegr
Priority: normal Component: Engine: SAGA
Keywords: Cc:
Game: Inherit the Earth

Description

Using both ScummVM 0.10.0 branch and 0.11.0 svn under Windows Vista, compiled with MSVC8. ITE is English CD Talkie

The MIDI parser can crash at random places in ITE. It always crashes at sound/midiparser_xmidi.cpp in MidiParser_XMIDI::readVLQ2 at line 58:

58 while (!(pos[0] & 0x80)) {
59 value += *pos++;
60 }

It always crashes at that while loop. Perhaps it is trying to read an invalid location. When it crashes, pos is always 0 (bad pointer).

I've seen it crashing when you change scenes between the general map and the faire and at the Boar Castle, when you enter the Boar castle or when you enter the Boar King's room. As I said, it's pretty random, and it looks like to be some sort of timing/race condition with the MIDI music

Ticket imported from: #1734416. Ticket imported from: bugs/3242.

Change History (4)

comment:1 by sev-, 12 years ago

Summary: ITE: Random crashes with the MIDI parserAUDIO: ITE: Random crashes with the MIDI parser

comment:2 by bluegr, 12 years ago

This issue sometimes occurs with IHNM as well, but very rarely. It's definitely very frequent in ITE, at random places as already described

comment:3 by bluegr, 12 years ago

Fixed in the latest SVN

Closing

comment:4 by bluegr, 12 years ago

Owner: set to bluegr
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.