During long and heavy testruns I encountered seemingly random crashes
running on Windows 7.
I tracked the problem down to the function
static int win_localinfo(su_localinfo_t const hints[1], su_localinfo_t
**rresult);
which resides in su_localinfo.c.
If the call to GetAdapterAddresses() fails, the function tries to use
FormatMessage()
to get an error string to print out.
Unfortunately, the call to FormatMessage() specifies an illegal buffer:
if (!FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
error,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
msg, 0, NULL))
msg = empty;
It SHOULD be:
if (!FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
error,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR)&msg, 0, NULL))
msg = empty;
Earlier in the function it says:
char const* empty = "";
LPTSTR msg = empty;
Calling FormatMessage() and specifying a pointer to empty (assignment)
is obviously illegal as it requires the address to a pointer.
Best regards,
Andreas
------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
Sofia-sip-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sofia-sip-devel