about summary refs log tree commit diff
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
parentffabd3937aea799d2779e8b1b0a5385eebadd452 (diff)
downloadglibc-595aba70a4c676f7efaf6a012f54cd22aa189c5b.tar.gz
glibc-595aba70a4c676f7efaf6a012f54cd22aa189c5b.tar.xz
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;