[Bug 26969] acmStreamConvert fails struct check on win64 while winecfg audio test
wine-bugs at winehq.org
wine-bugs at winehq.org
Sat Apr 30 05:46:10 CDT 2011
http://bugs.winehq.org/show_bug.cgi?id=26969
Night Nord <NightNord at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|acmStreamConvert fails |acmStreamConvert fails
|struct size check on win64 |struct check on win64 while
|while winecfg audio test |winecfg audio test
--- Comment #2 from Night Nord <NightNord at gmail.com> 2011-04-30 05:46:09 CDT ---
Oh, I'm sorry, missed the line. Correct error lines are
dlls/msacm32/stream.c:112-115:
111 /* check that pointers have not been modified */
112 if (padsh->pbPreparedSrc != padsh->pbSrc ||
113 padsh->cbPreparedSrcLength < padsh->cbSrcLength ||
114 padsh->pbPreparedDst != padsh->pbDst ||
115 padsh->cbPreparedDstLength < padsh->cbDstLength) {
Also, I've hacked stream.c adding TRACE to acmStreamPrepareHeader with sizeof
outputs for ACMSTREAMHEADER and ACMDRVSTREAMHEADER, just after the comment:
316 /* Note: the ACMSTREAMHEADER and ACMDRVSTREAMHEADER structs are of same
317 * size. some fields are private to msacm internals, and are exposed
318 * in ACMSTREAMHEADER in the dwReservedDriver array
319 */
For win32 it is:
trace:msacm:acmStreamPrepareHeader sizeof(PACMDRVSTREAMHEADER) = 84,
sizeof(ACMSTREAMHEADER) = 84
For win64 it is:
trace:msacm:acmStreamPrepareHeader sizeof(PACMDRVSTREAMHEADER) = 144,
sizeof(ACMSTREAMHEADER) = 124
That's on gcc-4.6.0. There is similar reports from Fedora 15 users [1], which
is also using gcc-4.6.0 [2]. Probably some align issues?
I'll patch acmStreamConvert and acmStreamPrepareHeader to TRACE out this
pointer addresses, so it will be clear if they are changed due to memory
overwrite.
[1] http://forums.fedoraforum.org/showthread.php?t=262080
[2] http://fedoraproject.org/wiki/Features/GCC46
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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