[uClibc] dns_lookup in resolv.c using statics

Arne Jonsson arne.jonsson at i3micro.com
Fri Dec 10 15:40:31 UTC 2004


Hello!

I am looking at the function dns_lookup() in the file
libc/inet/resolv.c.
The function is using two static variables, ns and id.
Especially the use of the variable id is wrong (I haven't check ns yet).
I think the static id should be copied to a stack variable making it
threadsafe. At line 805 in the file the static variable id is compared
to the id (h.id) of an incoming packet, the problem is that id could
have been updated of another thread during the time to receive the
answer. 
Any comments?

Best regards,
/Arne Jonsson
-- 
Arne Jonsson
i3 micro technology AB
Phone:+46-8-506 388 00
Fax:  +46-8-506 388 75




More information about the uClibc mailing list