urlmon: Fix PROTOCOLDATA message passing in IInternetProtocolSink interface of Binding.

Misha Koshelev mk144210 at bcm.edu
Sun Nov 11 01:28:03 CST 2007


Not technically related to previous patch this is the proper fix (I believe) for the valgrind incorrect
access to 4 bytes in memory (paraphrasing) from HttpProtocol_Continue.

Have been looking at this on/off for the past week, finally pulled out Jacek's trusty out-of-git emulated
http test and checked that PROTOCOLDATA pointer passed to _Continue function by native is different from
the one passed to _Switch, confirming that Binding is storing the data before it sends the message rather
than just transferring a pointer). The pointer points to a structure allocated just before PostMessage by
native (similar to what we do), native's is 0x2c bytes but ours is 0x18 (I believe), and native's
PROTOCOLDATA is at the beginning of the structure whereas ours is at the end, but I don't believe this has
to conform for any reason to that degree (and we would have to have some major changes anyway to some
other things if we wanted to be so nitpicky in where we put this internal structure, and I'm not sure I 
see any reason to conform to that extent).

Anyway this should fix those failures in Dan's valgrind results for urlmon/protocol and urlmon/url (although
not the whole tests as there seem to be some other wininet-related funcs memory leaking in there too I think).
---
 dlls/urlmon/binding.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 25dd7a0ec09279d156f2e3eb6d4d1aed112e9ebd.diff
Type: text/x-patch
Size: 1048 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20071111/e82841eb/attachment.bin 


More information about the wine-patches mailing list