scummvm/engines/lastexpress
Evgeny Grechnikov 8162309212 LASTEXPRESS: fix race condition in sound code
SoundEntry::play() calls StreamedSound::setFilterId(),
StreamSound::setFilterId() requires the underlying reference to be alive.
SoundQueue::handleTimer() checks that the stream is still alive
by calling SoundEntry::isFinished(). However, if the stream is finalized
just between calls to SoundEntry::isFinished() and SoundEntry::play(),
the sound mixer frees the stream leading to use-after-free in setFilterId().

Turn off the automatical disposing, delete the stream in SoundEntry::~SoundEntry().
2018-10-16 00:49:07 +03:00
..
data LASTEXPRESS: fix race condition in sound code 2018-10-16 00:49:07 +03:00
entities LASTEXPRESS: refactor sound flags 2018-10-14 20:08:32 +03:00
fight LASTEXPRESS: refactor sound flags 2018-10-14 20:08:32 +03:00
game LASTEXPRESS: refactor sound flags 2018-10-14 20:08:32 +03:00
menu LASTEXPRESS: refactor sound flags 2018-10-14 20:08:32 +03:00
sound LASTEXPRESS: refactor sound flags 2018-10-14 20:08:32 +03:00
configure.engine CONFIGURE: Introduced new engine dependency: highres 2016-03-05 14:25:56 +01:00
debug.cpp LASTEXPRESS: multiple fixes in NPC logic 2018-08-26 12:09:43 +02:00
debug.h LASTEXPRESS: Make GPL headers consistent in themselves. 2014-02-18 02:39:35 +01:00
detection.cpp LASTEXPRESS: Add Missing End Markers to Detection Entry File Lists. 2018-09-14 03:17:56 +01:00
drawable.h LASTEXPRESS: Make GPL headers consistent in themselves. 2014-02-18 02:39:35 +01:00
eventhandler.h LASTEXPRESS: Make GPL headers consistent in themselves. 2014-02-18 02:39:35 +01:00
graphics.cpp LASTEXPRESS: Make GPL headers consistent in themselves. 2014-02-18 02:39:35 +01:00
graphics.h LASTEXPRESS: Make GPL headers consistent in themselves. 2014-02-18 02:39:35 +01:00
helpers.h LASTEXPRESS: Make GPL headers consistent in themselves. 2014-02-18 02:39:35 +01:00
lastexpress.cpp ENGINES: Remove default1x scaler flag 2017-10-07 12:30:29 -05:00
lastexpress.h ALL: Change main engine header guard defines to <directory>_<engine>_H 2016-05-17 18:21:30 +02:00
module.mk LASTEXPRESS: Rename Server* classes to Waiter* 2014-06-16 18:46:13 -04:00
resource.cpp LASTEXPRESS: Make GPL headers consistent in themselves. 2014-02-18 02:39:35 +01:00
resource.h LASTEXPRESS: Make GPL headers consistent in themselves. 2014-02-18 02:39:35 +01:00
shared.h LASTEXPRESS: Fix compilation with some compilers 2018-10-14 22:00:13 +01:00