[Scummvm-tracker] [ScummVM :: Bugs] #13192: SCI: Police Quest 4 - Random Crashes

ScummVM :: Bugs trac at scummvm.org
Sat Jan 1 17:27:13 UTC 2022


#13192: SCI: Police Quest 4 - Random Crashes
--------------------+-----------------------------
Reporter:  jamokoo  |       Owner:  (none)
    Type:  defect   |      Status:  new
Priority:  normal   |   Component:  Engine: SCI
 Version:           |  Resolution:
Keywords:           |        Game:  Police Quest 4
--------------------+-----------------------------
Comment (by digitall):

 No crash here running with same checksums for datafiles on Linux x86_64
 with latest master. However, I do get this from valgrind:
 ````
 ==6509== Conditional jump or move depends on uninitialised value(s)
 ==6509==    at 0x2B44D92: Sci::musicEntryCompare(Sci::MusicEntry const*,
 Sci::MusicEntry const*) (music.cpp:364)
 ==6509==    by 0x2B49C49: Sci::MusicEntry**
 Common::sortPartition<Sci::MusicEntry**, bool (*)(Sci::MusicEntry const*,
 Sci::MusicEntry const*)>(Sci::MusicEntry**, Sci::MusicEntry**,
 Sci::MusicEntry**, bool (*&)(Sci::MusicEntry const*, Sci::MusicEntry
 const*)) (algorithm.h:243)
 ==6509==    by 0x2B494F0: void Common::sort<Sci::MusicEntry**, bool
 (*)(Sci::MusicEntry const*, Sci::MusicEntry const*)>(Sci::MusicEntry**,
 Sci::MusicEntry**, bool (*)(Sci::MusicEntry const*, Sci::MusicEntry
 const*)) (algorithm.h:291)
 ==6509==    by 0x2B44DE3: Sci::SciMusic::sortPlayList() (music.cpp:369)
 ==6509==    by 0x2B458D5: Sci::SciMusic::soundPlay(Sci::MusicEntry*, bool)
 (music.cpp:539)
 ==6509==    by 0x2B4ADB0:
 Sci::SoundCommandParser::processPlaySound(Sci::reg_t, bool, bool)
 (soundcmd.cpp:244)
 ==6509==    by 0x2B4A901:
 Sci::SoundCommandParser::kDoSoundPlay(Sci::EngineState*, int, Sci::reg_t*)
 (soundcmd.cpp:177)
 ==6509==    by 0x2AAF377: Sci::kDoSoundPlay(Sci::EngineState*, int,
 Sci::reg_t*) (ksound.cpp:51)
 ==6509==    by 0x2AE7902: Sci::callKernelFunc(Sci::EngineState*, int, int)
 (vm.cpp:449)
 ==6509==    by 0x2AE9655: Sci::run_vm(Sci::EngineState*) (vm.cpp:902)
 ==6509==    by 0x2AD8E0D: Sci::invokeSelector(Sci::EngineState*,
 Sci::reg_t, int, int, Sci::reg_t*, int, Sci::reg_t const*)
 (selector.cpp:325)
 ==6509==    by 0x2A9D5C1: Sci::kListEachElementDo(Sci::EngineState*, int,
 Sci::reg_t*) (klists.cpp:619)
 ````

 This may cause a segfault / invalid access in other OS.
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/13192#comment:4>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list