[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[e]glibc breaks res_init() functionality



package: glibc

I don't know whether this is still relevant or not, as I know Debian has
switched back to the original glibc, which does not contain this bug, but...

A patch to Debian's glibc, introduced here:
https://lists.debian.org/debian-glibc/2006/06/msg00154.html contains a
bug, which breaks the functionality of res_init().

res_init() is supposed to initalize the _res struct, and then allow for
modifications to the _res struct by the user, before resolving something
using res_query().

The introduction of the 'last_mtime' stat struct was used to determine
whether or not the _res struct had to be re-initalized, as the last
modification time of /etc/resolv.conf had changed. However, res_query()
uses __res_maybe_init() to determine whether or not to reset _res, but
res_init() does not set statbuf. So, calling res_init() effectively does
nothing, since all the changes will be overwritten by the first call to
res_query(), because res_query() runs __res_maybe_init().


Ubuntu report here, for reference:
https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1432378/comments/4


Thanks!
-- 
-- Joshua Rogers <https://internot.info/>

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: