mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-14 21:59:17 +00:00
8162309212
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(). |
||
---|---|---|
.. | ||
data | ||
entities | ||
fight | ||
game | ||
menu | ||
sound | ||
configure.engine | ||
debug.cpp | ||
debug.h | ||
detection.cpp | ||
drawable.h | ||
eventhandler.h | ||
graphics.cpp | ||
graphics.h | ||
helpers.h | ||
lastexpress.cpp | ||
lastexpress.h | ||
module.mk | ||
resource.cpp | ||
resource.h | ||
shared.h |