[Bug 37669] Resetting a write watch can cause memory access violation in kernel

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Feb 11 06:48:08 CST 2015


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

--- Comment #30 from Sebastian Lackner <sebastian at fds-team.de> ---
(In reply to Dmitry Timoshkov from comment #29)
> (In reply to Dmitry Timoshkov from comment #28)
> > Patch applies but unfortunately I still get an exception at the same place
> > http://source.winehq.org/git/wine.git/blob/HEAD:/dlls/ws2_32/socket.c#l2009
> 
> It's caused by a typo in the patch: virtual_handle_fault() returns 0
> (STATUS_SUCCESS) on success. After fixing that part the application
> works very well. Thanks!

Oops, that was a stupid mistake. I even looked at the definition of the
function... ;)

Have added the patch at the end of the series. For those interested in testing
the patches, you'll need:

[1/3]
https://github.com/wine-compholio/wine-staging/tree/master/patches/ws2_32-WriteWatches
[2/3]
https://github.com/wine-compholio/wine-staging/tree/master/patches/kernel32-Named_Pipe
[3/3]
https://github.com/wine-compholio/wine-staging/tree/master/patches/ntdll-WriteWatches

Patch ws2_32-WriteWatches/0004 is not strictly required anymore because it
should also be catched by the minimalistic exception handler in patch 0005. For
patch 0003 it might be useful to keep the exception-free solution to avoid
regressions in code which was working fine before (when the app really triggers
an EFAULT). It can be replaced though when we have full exception handling
support on the signal stack.

For those who don't want the full Named_Pipe messagemode patchset, you can use
https://bugs.winehq.org/attachment.cgi?id=50691, but keep in mind that it
doesn't fix the async case.

Happy testing!

-- 
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