* sysdeps/posix/getaddrinfo.c (gaih_inet): No need to duplicate
authorUlrich Drepper <drepper@redhat.com>
Wed, 29 Mar 2006 17:52:29 +0000 (17:52 +0000)
committerUlrich Drepper <drepper@redhat.com>
Wed, 29 Mar 2006 17:52:29 +0000 (17:52 +0000)
'name' for 'canon'.  The final allocation will happen later.

ChangeLog
sysdeps/posix/getaddrinfo.c

index d9970ac..a9c01f4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-03-29  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/posix/getaddrinfo.c (gaih_inet): No need to duplicate
+       'name' for 'canon'.  The final allocation will happen later.
+
 2006-03-27  Ulrich Drepper  <drepper@redhat.com>
 
        * sysdeps/unix/sysv/linux/kernel-features.h: Remove support for
index 46c66a8..37f7fa0 100644 (file)
@@ -538,16 +538,10 @@ gaih_inet (const char *name, const struct gaih_service *service,
          else
            return -EAI_ADDRFAMILY;
 
-       dupname:
          if (req->ai_flags & AI_CANONNAME)
-           {
-             canon = strdup (name);
-             if (canon == NULL)
-               return -EAI_MEMORY;
-           }
+           canon = name;
        }
-
-      if (at->family == AF_UNSPEC)
+      else if (at->family == AF_UNSPEC)
        {
          char *namebuf = (char *) name;
          char *scope_delim = strchr (name, SCOPE_DELIMITER);
@@ -595,7 +589,8 @@ gaih_inet (const char *name, const struct gaih_service *service,
                    }
                }
 
-             goto dupname;
+             if (req->ai_flags & AI_CANONNAME)
+               canon = name;
            }
        }