Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
05229 Crash/Freeze Minor Always Jul 16, 2013, 11:54 Jul 25, 2013, 07:19
Tester PGGB View Status Public Platform
Assigned To Resolution Open OS
Status [?] Confirmed Driver
Version 0.149 Fixed in Version Build
Fixed in Git Commit Github Pull Request #
Summary 05229: Crash when passing an absolute file path to schedule_save/schedule_load
Description When passing an absolute path to 'schedule_save'/'schedule_load', 'm_saveload_searchpath' is set to NULL in 'set_saveload_filename'.
In the function 'handle_saveload' this search path is used to create 'emu_file file', which then causes MAME/MESS to crash when it tries to call 'filerr = file.open(m_saveload_pending_file);' in line 923.

The actual crash happens in emu/fileio.c in line 81 when strchr is called on a null pointer (m_current was previously set to m_saveload_searchpath).
Steps To Reproduce
Additional Information
Github Commit
Flags
Regression Version
Affected Sets / Systems
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
5
User avatar
No.09654
etabeta
Developer
Jul 18, 2013, 09:08
I'm not sure the code is supposed to handle any absolute path for saves. maybe it would help what you're trying to accomplish when you encounter this issues...
User avatar
No.09655
PGGB
Tester
Jul 18, 2013, 09:16
set_saveload_filename checks if the filename is an absolute path so that part is already accounting for that.

I encountered this while porting MAME to OpenEmu: https://github.com/OpenEmu/UME-Core
Specifically here: https://github.com/OpenEmu/UME-Core/blob/master/MAMEGameCore.mm#L559

fileName is an absolute path pointing to an temp file that MAME can write its save state to, which then gets copied to the final location with the completion block.

Hope this helps.
User avatar
No.09658
NekoEd
Senior Tester
Jul 21, 2013, 00:40
I think this one needs further developer input. Marking as such.
User avatar
No.09670
Stiletto
Developer
Jul 25, 2013, 03:20
"I encountered this while porting MAME to OpenEmu: https://github.com/OpenEmu/UME-Core"

Is it license-compatible?
User avatar
No.09671
PGGB
Tester
Jul 25, 2013, 07:19
I do believe so:
OpenEmu is not sold or used in any commercial product.
The source code with all the changes is on Github (even though we try to keep our modifications out of the main project because it makes updating a lot harder).
I'll change the build process later today to include a copy of the legal notice in the core bundle. That should satisfy requirement three yes?

I'm not great with licenses, sp feel free to ask anything you have reservations/are curious about.