[ オリジナルレポート ]

BugID: #01967

カテゴリ 重要度 ステータス 解決状況 登録日時 最終更新
クラッシュ/フリーズ重要 (本体)解決済み修正済み2008-07-04 01:312008-07-06 15:19
 
テスターTheShanMan担当者 ソース
バージョン0.125u8発生バージョン修正バージョン0.126
フラグ
セット
セット詳細
 
概 要output.c unregister_clientのクラッシュ。
詳 細I submitted a diff to submit@mamedev.org, but thought you might like it submitted here too for tracking purposes.

My app is causing mame to crash when it unregisters itself as an output client. Output.c’s unregister_client() is guaranteed to crash because if it finds a match then it ends up doing a “->next” twice – once in the “if” body, and once in the “for” statement. This patch to 0.125u8 fixes this problem. It simply adds a “break” to the “if” body since at that point there is no need to continue.

Hope this can make it in for 0.126.
再現手順1. Launch mame.
2. Launch an app that both registers and unregisters itself as an output client (ledutil.exe registers itself but I'm not sure it ever goes through the unregister process).
3. Get that app to unregister itself.

Boom. Mame crashes or goes away silently because it is trying to access a NULL pointer.
追加情報Diff submitted within the last hour to submit@mamedev.org. I'll upload here as well. This diff was tested by applying to 0.125u8 and confirmed to fix the problem when another app unregisters itself.
 
添付ファイルzip fileunregister_client.zip (2008-07-04 01:31)