Fix nss_files if /etc/hosts is missing.
authorSteve Langasek <vorlon@debian.org>
Fri, 30 Oct 2009 05:04:58 +0000 (22:04 -0700)
committerUlrich Drepper <drepper@redhat.com>
Fri, 30 Oct 2009 05:04:58 +0000 (22:04 -0700)
ChangeLog
nss/nss_files/files-hosts.c

index ed055a7..3fae505 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2009-10-29  Ulrich Drepper  <drepper@redhat.com>
 
+       [BZ #10540]
+       * nss/nss_files/files-hosts.c (_nss_files_gethostbyname4_r): If
+       /etc/hosts does not exist set errnop and herrnop appropriately.
+       Patch by Steve Langasek <vorlon@debian.org>.
+
        [BZ #10553]
        * malloc/malloc.c (malloc_info): Fix typos in format strings.
        Patch by John Sullivan <jsrhbz@kanargh.force9.co.uk>.
index 7b69d47..68fb969 100644 (file)
@@ -1,5 +1,5 @@
 /* Hosts file parser in nss_files module.
-   Copyright (C) 1996-2001, 2003-2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 1996-2001, 2003-2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -423,6 +423,11 @@ _nss_files_gethostbyname4_r (const char *name, struct gaih_addrtuple **pat,
       if (! keep_stream)
        internal_endent ();
     }
+  else
+    {
+      *errnop = errno;
+      *herrnop = NO_DATA;
+    }
 
   __libc_lock_unlock (lock);