[Scummvm-tracker] [ScummVM] #10116: MM C64 DEMO: Attempting to display the original save/load screen causes a crash.

Colin Snover trac at scummvm.org
Mon Nov 27 20:44:43 CET 2017


#10116: MM C64 DEMO: Attempting to display the original save/load screen causes a
crash.
-----------------------------+----------------------------------
  Reporter:  robertmegone    |      Owner:  sev-
      Type:  defect          |     Status:  closed
  Priority:  blocker         |  Component:  Engine: SCUMM
Resolution:  fixed           |   Keywords:  semi-reproducible-ub
      Game:  Maniac Mansion  |
-----------------------------+----------------------------------
Changes (by csnover):

 * status:  new => closed
 * resolution:   => fixed


Comment:

 We had a discussion, here is the outcome.

 sev- went back a few years in history and was still not able to reproduce
 the OP’s assertion failure, and feels 95% certain that the OP’s issue was
 due to invalid data. Since the MM C64 demo has no save screen anyway, he
 felt it was appropriate to make a change to return early from the hotkey
 handler.

 Since the OP’s issue was not reproduced I still think that the patch
 committed has equal probability of (1) doing nothing (since the game
 already doesn’t show a save screen or crash normally), (2) masking a
 different bug with out-of-bounds reads that exists elsewhere in SCUMM
 engine, which can be conditionally triggered from the MM C64 demo, or (3)
 fixing the OP’s problem with the MM C64 demo as reported. Due to concerns
 over (1) and (2) I would prefer having made no code change in this regard
 and simply say that this ticket is worksforme/outdated, so that there is
 the opportunity for a new reproduction in future, but that is my opinion.

 Since the UB was causing a reproducible crash with Clang 5’s UBSan that
 was the angle I approached this ticket with, but it is not the OP’s crash
 so shouldn’t remain here. I will open a separate ticket to track the
 problem of the UB-hack save code which crashes Clang 5’s UBSan at runtime,
 and that problem is not a release blocker for 2.0.

--
Ticket URL: <https://bugs.scummvm.org/ticket/10116#comment:18>
ScummVM <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list