Initialize _res before using digits_dots.c functions.
authordrepper <drepper>
Mon, 21 Dec 1998 12:16:16 +0000 (12:16 +0000)
committerdrepper <drepper>
Mon, 21 Dec 1998 12:16:16 +0000 (12:16 +0000)
nss/getXXbyYY.c
nss/getXXbyYY_r.c

index 21baad9..a79fd08 100644 (file)
@@ -96,6 +96,16 @@ FUNCTION_NAME (ADD_PARAMS)
   if (buffer != NULL)
     {
 #ifdef HANDLE_DIGITS_DOTS
+      /* We have to test for the use of IPv6 which can only be done by
+        examining `_res'.  */
+      if ((_res.options & RES_INIT) == 0 && res_init () == -1)
+       {
+# ifdef NEED_H_ERRNO
+         h_errno_tmp = NETDB_INTERNAL;
+# endif
+         result = NULL;
+         goto done;
+       }
 # include "digits_dots.c"
 #endif
     }
index 7e567a1..3c7f2a1 100644 (file)
@@ -115,6 +115,14 @@ INTERNAL (REENTRANT_NAME) (ADD_PARAMS, LOOKUP_TYPE *resbuf, char *buffer,
 #endif
 
 #ifdef HANDLE_DIGITS_DOTS
+  /* We have to test for the use of IPv6 which can only be done by
+     examining `_res'.  */
+  if ((_res.options & RES_INIT) == 0 && res_init () == -1)
+    {
+      *h_errnop = NETDB_INTERNAL;
+      *result = NULL;
+      return -1;
+    }
 # define resbuf (*resbuf)
 # include "digits_dots.c"
 # undef resbuf