[PATCH v2] urlmon: Always report available data before stop_binding.

Jacek Caban jacek at codeweavers.com
Tue Jan 4 16:23:39 CST 2022


Hi Rémi,

On 1/4/22 21:31, Rémi Bernon wrote:
> The HTML launcher of several Rebellion games (all probably based on the
> same code) use a custom protocol handler which calls ReportResult in
> LockRequest, causing an invalid memory access when OnDataAvailable
> callback is called, as the binding has already been stopped and
> terminated.
>
> Wine-Bug:https://bugs.winehq.org/show_bug.cgi?id=46213
> Wine-Bug:https://bugs.winehq.org/show_bug.cgi?id=52286
> Signed-off-by: Rémi Bernon<rbernon at codeweavers.com>
> ---
>
> v2: Use an even more ad-hoc flag to detect LockRequest calls during
>      ReportData.
>
>   dlls/mshtml/tests/htmldoc.c | 18 +++++++++++++++++-
>   dlls/urlmon/binding.c       | 23 +++++++++++++++++++++++
>   2 files changed, 40 insertions(+), 1 deletion(-)


Those tests in htmldoc.c are a few layers above the problem, so they are 
not very informative. I did a quick experiment (see the attachment) with 
more precise test and an ad-hoc fix. It still needs better 
understanding, but does it help in your case?


Thanks,

Jacek
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.diff
Type: text/x-patch
Size: 3946 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20220104/96f2a563/attachment.bin>


More information about the wine-devel mailing list