about summary refs log tree commit diff
path: root/resolv/res_init.c
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2017-06-27 09:26:46 +0200
committerFlorian Weimer <fweimer@redhat.com>2017-06-27 09:26:46 +0200
commite6b4e2de6dd91efdcac80b79149c596de8a26b70 (patch)
tree4ac5b1cb2d8b5df219fa0b0be3290534cbccd0e7 /resolv/res_init.c
parent034e73802173a8bfa80ff21d3da45e3bbbfe8acc (diff)
downloadglibc-e6b4e2de6dd91efdcac80b79149c596de8a26b70.tar.gz
glibc-e6b4e2de6dd91efdcac80b79149c596de8a26b70.tar.xz
glibc-e6b4e2de6dd91efdcac80b79149c596de8a26b70.zip
resolv: Call _res_hconf_init from __res_vinit
Many callers of __res_maybe_init also call _res_hconf_init.
Additional calls to the latter do not hurt because the function
does its work only once.  (/etc/hosts.conf is not reloaded or
even checked for changes.)  This means that we can simplify the
code by calling _res_hconf_init directly from __res_vinit.
Diffstat (limited to 'resolv/res_init.c')
-rw-r--r--resolv/res_init.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/resolv/res_init.c b/resolv/res_init.c
index 9aa907ee19..821f06061b 100644
--- a/resolv/res_init.c
+++ b/resolv/res_init.c
@@ -85,6 +85,7 @@
 #include <ctype.h>
 #include <netdb.h>
 #include <resolv/resolv-internal.h>
+#include <res_hconf.h>
 #include <stdio.h>
 #include <stdio_ext.h>
 #include <stdlib.h>
@@ -430,6 +431,9 @@ res_vinit_1 (res_state statp, bool preinit, FILE *fp, char **buffer)
 int
 __res_vinit (res_state statp, int preinit)
 {
+  /* Ensure that /etc/hosts.conf has been loaded (once).  */
+  _res_hconf_init ();
+
   FILE *fp = fopen (_PATH_RESCONF, "rce");
   if (fp == NULL)
     switch (errno)