Opened 4 years ago

Closed 4 years ago

Last modified 12 months ago

#7106 closed defect (fixed)

MOHAWK/MYST: ScummVM crashes when filename for savegame is empty

Reported by: SF/rootfather Owned by: bgK
Priority: normal Component: Engine: Mohawk
Keywords: Cc:
Game: Myst

Description

OS: Windows 10 (Build 14291.1001), Windows XP (inside a VM, clean install with SP3)
ScummVM: 1.9.0git1442-gdd6372e
Game: Myst (Masterpiece Edition/Windows/German)

ScummVM crashes, when the filename for a savegame is left empty instead of dropping an error message or replacing the empty filename with some placeholder.

To reproduce, just try to save the game and leave the input box empty when you get asked for a save name. ScummVM instantly crashes, no save file is created.

Unfortunately, the log file doesn't contain a specific entry, even with debug level 9. I think that ScummVM crashes before being able to log the event that causes the crash. I get some output in the console window when I start ScummVM from cmd. I attached that output.

Ticket imported from: bugs/7106.

Attachments (1)

scummvm_myst_save_bug.txt (413 bytes ) - added by SF/rootfather 4 years ago.

Download all attachments as: .zip

Change History (5)

by SF/rootfather, 4 years ago

Attachment: scummvm_myst_save_bug.txt added

comment:1 by wjp, 4 years ago

Scanning through the code briefly, it looks like it's trying to use the description as a filename, and the default fallback description contains a / which is an invalid character for a filename.

comment:2 by bgK, 4 years ago

Thanks rootfather for the bug report, and thanks wjp for finding the cause. I could have spent a quite some time before understanding this one.

The save file naming scheme has been changed to use the slot number, which fixes this issue.
Old saves are still compatible, but must be renamed to "myst-###.mys", and "myst-###.mym".

comment:3 by bgK, 4 years ago

Owner: set to bgK
Resolution: fixed
Status: newclosed

comment:4 by digitall, 12 months ago

Component: Engine: Mohawk
Game: Myst
Note: See TracTickets for help on using tickets.