[Scummvm-tracker] [ScummVM :: Bugs] #13101: SHERLOCK: Game crashes lightning matches on lab table

ScummVM :: Bugs trac at scummvm.org
Thu Nov 25 08:41:30 UTC 2021


#13101: SHERLOCK: Game crashes lightning matches on lab table
-------------------------+-------------------------------------------------
Reporter:  popovi76      |       Owner:  (none)
    Type:  defect        |      Status:  new
Priority:  normal        |   Component:  Engine: Sherlock
 Version:                |  Resolution:
Keywords:                |        Game:  Sherlock Holmes: Case of the
                         |  Serrated Scalpel
-------------------------+-------------------------------------------------
Comment (by eriktorbjorn):

 I can see that ImageFile::load() loads a bunch of images with really weird
 dimensions. And I have a feeling it's because it doesn't stop in time. I
 added some debug messages to print the dimensions of the frames it loaded:

 {{{
 => Loading image file from name: 59MATCH4.vgs
     ImageFile::load: 53x98
     ImageFile::load: 53x97
     ImageFile::load: 53x101
     ImageFile::load: 53x105
     ImageFile::load: 53x95
     ImageFile::load: 58x83
     ImageFile::load: 67x74
     ImageFile::load: 69x78
     ImageFile::load: 63x68
     ImageFile::load: 55x65
     ImageFile::load: 47x59
     ImageFile::load: 37x52
     ImageFile::load: 26x39
     ImageFile::load: 0x26
     ImageFile::load: 2348x0
     ImageFile::load: 0x0
     ImageFile::load: 0x0
     ImageFile::load: 0x18944
     ImageFile::load: 0x0
     ImageFile::load: 0x0
     ImageFile::load: 0x0
     ImageFile::load: 0x0
     ImageFile::load: 0x0
     ImageFile::load: 0x0
     ImageFile::load: 0x0
     ImageFile::load: 0x0
     ImageFile::load: 0x0
     ImageFile::load: 45641x0
 scummvm: graphics/surface.cpp:67: void Graphics::Surface::create(int16,
 int16, const Graphics::PixelFormat&): Assertion `width >= 0 && height >=
 0' failed.
 Aborted
 }}}

 Note that after the normal-looking sizes, one of the dimensions of the
 frame is always 0, which probably means it's not advancing very far in the
 stream. It doesn't crash, though, until it encounters a frame with
 dimensions that overflow into the negative when cast to a signed 16-bit
 integer.
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/13101#comment:2>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list