]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
resolv/nss_dns/dns-host: Get rid of alloca.
authorJoe Simmons-Talbott <josimmon@redhat.com>
Mon, 14 Aug 2023 20:50:40 +0000 (20:50 +0000)
committerJoe Simmons-Talbott <josimmon@redhat.com>
Mon, 14 Aug 2023 20:50:40 +0000 (20:50 +0000)
Since the alloca is a small constant size use an array instead.

Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
resolv/nss_dns/dns-host.c

index 1d60c51f5e0ec1aa146872e3af5a4909a7660f57..c8b77bbc35004789ec1010ba789706f05368e91e 100644 (file)
@@ -378,6 +378,7 @@ _nss_dns_gethostbyname4_r (const char *name, struct gaih_addrtuple **pat,
                           int *herrnop, int32_t *ttlp)
 {
   enum nss_status status = check_name (name, herrnop);
+  char tmp[NS_MAXDNAME];
   if (status != NSS_STATUS_SUCCESS)
     return status;
   struct resolv_context *ctx = __resolv_context_get ();
@@ -395,8 +396,7 @@ _nss_dns_gethostbyname4_r (const char *name, struct gaih_addrtuple **pat,
    */
   if (strchr (name, '.') == NULL)
     {
-      char *tmp = alloca (NS_MAXDNAME);
-      const char *cp = __res_context_hostalias (ctx, name, tmp, NS_MAXDNAME);
+      const char *cp = __res_context_hostalias (ctx, name, tmp, sizeof (tmp));
       if (cp != NULL)
        name = cp;
     }