]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Update.
authorUlrich Drepper <drepper@redhat.com>
Sat, 12 Aug 2000 06:42:00 +0000 (06:42 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sat, 12 Aug 2000 06:42:00 +0000 (06:42 +0000)
* nss/digits_dots.c: Don't pass NULL in h_aliases for successful
lookup, pass pointer to array with NULL pointer [PR libc/1858].

ChangeLog
nss/digits_dots.c

index 075594fbd6c998696bf5c2a4de5e5ef32a2c2a8a..bfc9e891e957481a546eb0163834e169d5fa4a07 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2000-08-11  Ulrich Drepper  <drepper@redhat.com>
 
+       * nss/digits_dots.c: Don't pass NULL in h_aliases for successful
+       lookup, pass pointer to array with NULL pointer [PR libc/1858].
+
        * rt/aio_cancel.c: If canceling a specific request which is running
        *really* do nothing.
        * rt/aio_misc.h: Add `done' to states of a request.
index c3c6de7ce1dd5646179d992709fe05f0d07c5e3a..cfca3433124b36d48cadfbdad4edeba284e8fd99 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1999, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by H.J. Lu <hjl@gnu.ai.mit.edu>, 1997.
 
     {
       const char *cp;
       char *hostname;
-      typedef unsigned char host_addr_t [16];
+      typedef unsigned char host_addr_t[16];
       host_addr_t *host_addr;
-      typedef char *host_addr_list_t [2];
+      typedef char *host_addr_list_t[2];
       host_addr_list_t *h_addr_ptrs;
+      char **h_alias_ptr;
       size_t size_needed;
       int addr_size;
 #ifdef HAVE_TYPE
       host_addr = (host_addr_t *) buffer;
       h_addr_ptrs = (host_addr_list_t *)
        ((char *) host_addr + sizeof (*host_addr));
-      hostname = (char *) h_addr_ptrs + sizeof (*h_addr_ptrs);
+      h_alias_ptr = (char **) ((char *) h_addr_ptrs + sizeof (*h_addr_ptrs));
+      hostname = (char *) h_alias_ptr + sizeof (*h_alias_ptr);
 
       if (isdigit (name[0]))
        {
                    }
 
                  resbuf.h_name = strcpy (hostname, name);
-                 resbuf.h_aliases = NULL;
+                 h_alias_ptr[0] = NULL;
+                 resbuf.h_aliases = h_alias_ptr;
                  (*h_addr_ptrs)[0] = (char *)host_addr;
                  (*h_addr_ptrs)[1] = (char *)0;
                  resbuf.h_addr_list = *h_addr_ptrs;
                    }
 
                  resbuf.h_name = strcpy (hostname, name);
-                 resbuf.h_aliases = NULL;
+                 h_alias_ptr[0] = NULL;
+                 resbuf.h_aliases = h_alias_ptr;
                  (*h_addr_ptrs)[0] = (char *) host_addr;
                  (*h_addr_ptrs)[1] = (char *) 0;
                  resbuf.h_addr_list = *h_addr_ptrs;