[Bug 36092] Microsoft Office 2013 (15.0) web installer crashes on unimplemented function IPHLPAPI.DLL.CreateSortedAddressPairs
wine-bugs at winehq.org
wine-bugs at winehq.org
Mon Jul 14 16:43:33 CDT 2014
http://bugs.winehq.org/show_bug.cgi?id=36092
--- Comment #21 from Derek Atkins <warlord at mit.edu> ---
Bruno,
I'm looking more closely at your patch and either I'm confused or there's a
bug. In particular, the SOCKADDR_IN6_PAIR is defined to be a structure of two
PSOCKADDR_IN6 members, i.e., two pointers to SOCKADDR_IN6. You allocate the
returned structure via:
retaddr=HeapAlloc(GetProcessHeap(),0,sizeof(SOCKADDR_IN6_PAIR)*destinationcount);
Which unless I'm confused will allocate the array of PAIR objects, but wont
deep-allocate the SOCKADDR_IN6 pointers in each object. Assuming I'm correct
that HeapAlloc() works like a Unix "malloc" then your bug is on the next line
in the loop, where you memset into the (non-allocated) object:
memset(retaddr[i].SourceAddress,0,sizeof(SOCKADDR_IN6));
At this point retaddr[i].SourceAddress should, unless I'm confused, be a NULL
pointer (or garbage).. I don't see where you ever allocate the pointer? For
example I just added some code to your patch to output the Source and Dest
address pointers and indeed they are garbage:
fixme:iphlpapi:CreateSortedAddressPairs source (nil), sourcecount 0,
destination 0x511ba8, destcount 15, sortoptions 0, sortedaddr 0x32e684,
sortedcount 0x32e66c
fixme:iphlpapi:CreateSortedAddressPairs SourceAddress: 0x110118, DestAddress:
0x110108
fixme:iphlpapi:CreateSortedAddressPairs SourceAddress: 0x1, DestAddress: 0x6
wine: Unhandled page fault on write access to 0x00000001 at address 0x7e69bdff
(thread 0009), starting debugger...
err:seh:raise_exception Unhandled exception code c0000005 flags 0 addr
0x7bc50e20
--
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