[Scummvm-tracker] [ScummVM] #10220: MOHAWK: MYST: Invalid read in VideoManager::open

dafioram trac at scummvm.org
Fri Sep 22 02:07:10 CEST 2017


#10220: MOHAWK: MYST: Invalid read in VideoManager::open
---------------------+----------------------------
Reporter:  dafioram  |      Owner:  (none)
    Type:  defect    |     Status:  new
Priority:  normal    |  Component:  Engine: Mohawk
Keywords:            |       Game:  Myst
---------------------+----------------------------
 scummvm: 8547c89b86f0be02c4b3ef8e8adb4d5f96cf8432
 game: myst me english

 Running valgrind during the intro movies produces this invalid read
 report.

 {{{
 ==8968== Invalid read of size 1
 ==8968==    at 0x4C32156: memcpy at GLIBC_2.2.5 (in /usr/lib/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==8968==    by 0x3D1EF2: Common::MemoryReadStream::read(void*, unsigned
 int) (stream.cpp:70)
 ==8968==    by 0x1A0948: Common::ReadStream::readUint32LE() (stream.h:300)
 ==8968==    by 0x39F1D0: Common::BitStreamImpl<Common::SeekableReadStream,
 32, true, false>::readData() (bitstream.h:65)
 ==8968==    by 0x39F0E1: Common::BitStreamImpl<Common::SeekableReadStream,
 32, true, false>::readValue() (bitstream.h:84)
 ==8968==    by 0x39EF5B: Common::BitStreamImpl<Common::SeekableReadStream,
 32, true, false>::getBit() (bitstream.h:142)
 ==8968==    by 0x39EDC8: Common::BitStreamImpl<Common::SeekableReadStream,
 32, true, false>::skip(unsigned int) (bitstream.h:283)
 ==8968==    by 0x39C41A: Audio::QDM2Stream::qdm2_decode_super_block()
 (qdm2.cpp:2092)
 ==8968==    by 0x39E910:
 Audio::QDM2Stream::qdm2_decodeFrame(Common::SeekableReadStream&,
 Audio::QueuingAudioStream*) (qdm2.cpp:2538)
 ==8968==    by 0x39EC60:
 Audio::QDM2Stream::decodeFrame(Common::SeekableReadStream&)
 (qdm2.cpp:2613)
 ==8968==    by 0x37CA0C:
 Audio::QuickTimeAudioDecoder::AudioSampleDesc::createAudioStream(Common::SeekableReadStream*)
 const (quicktime.cpp:629)
 ==8968==    by 0x37BB21:
 Audio::QuickTimeAudioDecoder::QuickTimeAudioTrack::readAudioChunk(unsigned
 int) (quicktime.cpp:399)
 ==8968==  Address 0x12f10d06 is 0 bytes after a block of size 278 alloc'd
 ==8968==    at 0x4C2E8BF: operator new[](unsigned long) (in
 /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
 ==8968==    by 0x398152:
 Audio::QDM2Stream::QDM2Stream(Common::SeekableReadStream*,
 DisposeAfterUse::Flag) (qdm2.cpp:1219)
 ==8968==    by 0x39ECB7:
 Audio::makeQDM2Decoder(Common::SeekableReadStream*, DisposeAfterUse::Flag)
 (qdm2.cpp:2621)
 ==8968==    by 0x37CC75:
 Audio::QuickTimeAudioDecoder::AudioSampleDesc::initCodec()
 (quicktime.cpp:661)
 ==8968==    by 0x37BFC3:
 Audio::QuickTimeAudioDecoder::QuickTimeAudioTrack::enterNewEdit(Audio::Timestamp
 const&) (quicktime.cpp:463)
 ==8968==    by 0x37A6A7:
 Audio::QuickTimeAudioDecoder::QuickTimeAudioTrack::QuickTimeAudioTrack(Audio::QuickTimeAudioDecoder*,
 Common::QuickTimeParser::Track*) (quicktime.cpp:201)
 ==8968==    by 0x379E28: Audio::QuickTimeAudioDecoder::init()
 (quicktime.cpp:134)
 ==8968==    by 0x2A2833: Video::QuickTimeDecoder::init()
 (qt_decoder.cpp:206)
 ==8968==    by 0x2A1CE0:
 Video::QuickTimeDecoder::loadStream(Common::SeekableReadStream*)
 (qt_decoder.cpp:71)
 ==8968==    by 0x1A6D43: Mohawk::VideoManager::open(Common::String const&,
 Audio::Mixer::SoundType) (video.cpp:329)
 ==8968==    by 0x1A627E: Mohawk::VideoManager::playMovie(Common::String
 const&, Audio::Mixer::SoundType) (video.cpp:168)
 ==8968==    by 0x1A8CCD:
 Mohawk::MohawkEngine_Myst::playMovie(Common::String const&,
 Mohawk::MystStack) (myst.cpp:230)
 }}}

--
Ticket URL: <https://bugs.scummvm.org/ticket/10220>
ScummVM <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list