Opened 11 years ago

Closed 11 years ago

Last modified 13 months ago

#3951 closed defect (fixed)

ANY: Failed assertion on invalid save path

Reported by: eriktorbjorn Owned by: fingolfin
Priority: high Component: --Other--
Keywords: Cc:
Game:

Description

Latest SVN snapshot

If I change the save path to point to an invalid directory, ScummVM fails an assertion when I try to save. I've tried it with the SCUMM engine, and earlier today with the Drascula engine, so I assume it affects all engines:

scummvm: common/fs.cpp:68: Common::FilesystemNode Common::FilesystemNode::getChild(const Common::String&) const: Assertion `_realNode->isDirectory()' failed.

Of course, you shouldn't be able to set an invalid save path in ScummVM, but it's quite possible that someone will set a valid save path, and then move that folder somewhere else.

Ticket imported from: #2098922. Ticket imported from: bugs/3951.

Change History (7)

comment:1 by fingolfin, 11 years ago

So, we should modify the DefaultSaveManager to validate the savepath passed to it; and if it is invalid, return an error, instead of asserting out.

comment:2 by fingolfin, 11 years ago

Priority: normalhigh

comment:3 by fingolfin, 11 years ago

Owner: set to fingolfin

comment:4 by fingolfin, 11 years ago

I think this bug is out of date by now. Torbjörn, can you still reproduce the issue, or can this be closed?

comment:5 by eriktorbjorn, 11 years ago

I wasn't able to trigger the assertion with the SCUMM engine or the Drascula engine. Drascula did terminate with a rather misleading "Can't open drascula.epa file!" message, but I guess that's a Drascula bug, not a file system bug.

comment:6 by fingolfin, 11 years ago

Resolution: fixed
Status: newclosed

comment:7 by digitall, 13 months ago

Component: --Unset----Other--
Note: See TracTickets for help on using tickets.