From efb1f9219cf26835c7e5a7ab2e32a7fadeb31a96 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 9 Apr 2018 21:20:40 -0400 Subject: XEEN: Add warning for invalid cmdFreezeFrequency channel values I got a crash once for an invalid channel when falling to the Water Elemental Plain from the Dark Side Skyroads, but couldn't replicate it. So I've put in a warning for now --- engines/xeen/sound_driver.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'engines/xeen') diff --git a/engines/xeen/sound_driver.cpp b/engines/xeen/sound_driver.cpp index e79fcdd501..6ce10d9641 100644 --- a/engines/xeen/sound_driver.cpp +++ b/engines/xeen/sound_driver.cpp @@ -126,7 +126,10 @@ bool SoundDriver::musSkipWord(const byte *&srcP, byte param) { bool SoundDriver::cmdFreezeFrequency(const byte *&srcP, byte param) { debugC(3, kDebugSound, "cmdFreezeFrequency %d", param); - _channels[param]._changeFrequency = false; + if (param >= _channels.size()) + warning("Invalid channel %d in cmdFreezeFrequency call", param); + else + _channels[param]._changeFrequency = false; return false; } -- cgit v1.2.3