aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSiddhesh Poyarekar <siddhesh@redhat.com>2013-08-26 15:42:29 +0530
committerSiddhesh Poyarekar <siddhesh@redhat.com>2013-08-26 15:42:29 +0530
commit595aba70a4c676f7efaf6a012f54cd22aa189c5b (patch)
treec804e71e90eeb7c3f9908fcedf76b094d5148dd5
parentFix dependencies for stdlib/tst-tls-atexit (diff)
downloadglibc-595aba70a4c676f7efaf6a012f54cd22aa189c5b.tar.gz
glibc-595aba70a4c676f7efaf6a012f54cd22aa189c5b.tar.bz2
glibc-595aba70a4c676f7efaf6a012f54cd22aa189c5b.zip
Initialize res_hconf in nscd
Fixes BZ #15890.
-rw-r--r--ChangeLog6
-rw-r--r--NEWS2
-rw-r--r--nscd/aicache.c4
3 files changed, 11 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 7e7e3c5aa2..9cde901094 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2013-08-26 Siddhesh Poyarekar <siddhesh@redhat.com>
+
+ [BZ #15890]
+ * nscd/aicache.c: Include res_hconf.h.
+ (addhstaiX): Initialize res_hconf.
+
2013-08-26 Andreas Schwab <schwab@suse.de>
* stdlib/Makefile (LDFLAGS-tst-tls-atexit): Remove.
diff --git a/NEWS b/NEWS
index 8f204d5ce7..eb26104db1 100644
--- a/NEWS
+++ b/NEWS
@@ -9,7 +9,7 @@ Version 2.19
* The following bugs are resolved with this release:
- 14699, 15531, 15532, 15749, 15797, 15867
+ 14699, 15531, 15532, 15749, 15797, 15867, 15890
* CVE-2013-4237 The readdir_r function could write more than NAME_MAX bytes
to the d_name member of struct dirent, or omit the terminating NUL
diff --git a/nscd/aicache.c b/nscd/aicache.c
index 0461b83079..dceb4d679e 100644
--- a/nscd/aicache.c
+++ b/nscd/aicache.c
@@ -25,6 +25,7 @@
#include <time.h>
#include <unistd.h>
#include <sys/mman.h>
+#include <resolv/res_hconf.h>
#include "dbg_log.h"
#include "nscd.h"
@@ -100,6 +101,9 @@ addhstaiX (struct database_dyn *db, int fd, request_header *req,
no_more = __nss_database_lookup ("hosts", NULL,
"dns [!UNAVAIL=return] files", &nip);
+ /* Initialize configurations. */
+ if (__builtin_expect (!_res_hconf.initialized, 0))
+ _res_hconf_init ();
if (__res_maybe_init (&_res, 0) == -1)
no_more = 1;