https://bugs.winehq.org/show_bug.cgi?id=52628
Bug ID: 52628 Summary: game frozen after opening due to infinite loop in winmm.mmioDescend() Product: Wine Version: unspecified Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: winmm&mci Assignee: wine-bugs@winehq.org Reporter: l12436@yahoo.com.tw Distribution: ---
Created attachment 71949 --> https://bugs.winehq.org/attachment.cgi?id=71949 fix patch for infinite loop
in winmm, mmio.c, function mmioDescend() around line 1232 there are a loop for mmioRead() mmioSeek() ...
some old game using mmioDescend() and mmioRead() has a chance that always return -1 causing infinite loop.
My only solution now is to skip that loop when mmioRead() return -1.
This affect some old game like poppo, Silk Road ~Tale of the Star Island~ made by Sprite
https://bugs.winehq.org/show_bug.cgi?id=52628
Eric Pouech eric.pouech@orange.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 CC| |eric.pouech@orange.fr Status|UNCONFIRMED |NEW
--- Comment #1 from Eric Pouech eric.pouech@orange.fr --- confirming.
thanks for the report and the patch proposal
would you mind posting your fix to wine-devel? - even if for clarity I'd write the test in the other way (and bit more pedantic), ie if (ix < 0 || ix < 2 * ...) - and having a test case would be even better
TIA
https://bugs.winehq.org/show_bug.cgi?id=52628
--- Comment #2 from TOM l12436@yahoo.com.tw --- How to post the patch to wine-devel ?
I may not be able to add a test case due to I did not familiar to wine code and the app that affect it.... XD
I believe the fix maybe need to be added by your developer and add a test case.
The patch I provide is original for showing where the issue, and a temporary fix for my old game.
https://bugs.winehq.org/show_bug.cgi?id=52628
Eric Pouech eric.pouech@orange.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|NEW |RESOLVED Fixed by SHA1| |0de8d01b09b1cc7ca34f7ae3890 | |b4a416ff801fe
--- Comment #3 from Eric Pouech eric.pouech@orange.fr --- patch applied
https://bugs.winehq.org/show_bug.cgi?id=52628
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #4 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 7.6.