conditional jump depends on uninitialised value in __libc_res_nsend

Bug #399580 reported by Dan Kegel
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
glibc (Ubuntu)
New
Undecided
Unassigned

Bug Description

Running the (32-bit) chromium ui_tests all day under valgrind on
64 bit jaunty netted a single instance of this warning:

Conditional jump or move depends on uninitialised value(s)
   at __libc_res_nsend (res_send.c:1011)
   by __libc_res_nquery (res_query.c:225)
   by __libc_res_nquerydomain (res_query.c:569)
   by __libc_res_nsearch (res_query.c:370)
   by _nss_dns_gethostbyname3_r (dns-host.c:197)
   by _nss_dns_gethostbyname2_r (dns-host.c:245)
   by gethostbyname2_r@@GLIBC_2.1.2 (getXXbyYY_r.c:253)
   by gaih_inet (getaddrinfo.c:531)
   by getaddrinfo (getaddrinfo.c:2154)

Looking at the source for glibc in ia32-libs-2.7ubuntu6, I see
   1009 if (n == 0) {
   1010 Dprint(statp->options & RES_DEBUG, (stdout, ";; timeout\n"));
   1011 if (resplen > 1 && (recvresp1 || (buf2 != NULL && recvresp2)))
Sure enough, resplen isn't obviously initialized, either in this version of
glibc (2.9) or in glibc from git. I think it may be an upstream problem still.
Perhaps this occurs infrequently because DNS usually doesn't time out.

Revision history for this message
Dan Kegel (dank) wrote :
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.