[Bug 14193] Monster Truck Madness 2 Trial: crash in msacm32

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Aug 5 12:07:12 CDT 2015


https://bugs.winehq.org/show_bug.cgi?id=14193

Bernhard Übelacker <bernhardu at vr-web.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #52002|0                           |1
        is obsolete|                            |

--- Comment #23 from Bernhard Übelacker <bernhardu at vr-web.de> ---
Created attachment 52003
  --> https://bugs.winehq.org/attachment.cgi?id=52003
Fix by failing acmFormatSuggest for specific destination format, without debug
traces.

Dug a little more into the issue.

>From my point of view following happens.

- acmMetrics is called to retrieve the needed size for
  the maximum WAVEFORMATEX size.
- In wine and plain windows we need just 0x32.
- A buffer of that size is allocated with RtlAllocateHeap.
- acmFormatSuggest is called with an special destination wave format
  WAVE_FORMAT_MSRT24; and is succeeding in wine, contrary to windows.
- Monsterx.EXE is now writing beyond the allocated buffer size.

Probably if a driver would be installed supporting WAVE_FORMAT_MSRT24,
then the acmMetrics would return a higher maximum buffer size and the
crash would not happen.

Attached patch just fails acmFormatSuggest for WAVE_FORMAT_MSRT24 in
msacm32.
With it demo is playable and sound is working.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.


More information about the wine-bugs mailing list