GetHostbyaddr Function Is Not Thread Safe Without DNS and/or WINS (317936)
The information in this article applies to:
- Microsoft Windows XP Home Edition
- Microsoft Windows XP Professional
This article was previously published under Q317936 SYMPTOMS
Even though an invalid address exists, a gethostbyaddr call may return successfully with a pointer to the hostent structure from another thread. In a private subnet without any DNS or WINS settings and when the NetBIOS over TCP/IP option is turned on, when you call gethostbyaddr in multiple threads to resolve addresses in the subnet, the program should return error 11004 (WSANO_DATA) if the address is invalid.
RESOLUTIONTo resolve this problem, obtain the latest service pack for Windows XP. For additional information, click the following article number to view the article in the
Microsoft Knowledge Base:
322389 How to Obtain the Latest Windows XP Service Pack
The English version of this fix should have the following file attributes or later:
Date Time Version Size File name
-------------------------------------------------
04-Apr-02 11:57 5.1.2600.41 149,120 Netbt.sys
WORKAROUND
To work around this problem, use a critical section to synchronize the call to gethostbyaddr among threads.
STATUSMicrosoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was first corrected in Windows XP Service Pack 1.
Modification Type: | Minor | Last Reviewed: | 9/27/2005 |
---|
Keywords: | kbHotfixServer kbQFE kbbug kbDNS kbenv kbfix kbnetwork kbWin2000PreSP3Fix kbWinsock kbWinXPsp1fix KB317936 |
---|
|