Use project-standard memory management rather than alloca()
authorJeremy Harris <jgh146exb@wizmail.org>
Mon, 16 Oct 2023 10:54:50 +0000 (11:54 +0100)
committerJeremy Harris <jgh146exb@wizmail.org>
Mon, 16 Oct 2023 10:54:50 +0000 (11:54 +0100)
src/src/string.c

index 055a37fd66f366af68c480e90db66ec99f9c80ab..51b12c5e527921721213a26745483893db2c0f5a 100644 (file)
@@ -105,9 +105,7 @@ string_is_ip_addressX(const uschar *ip_addr, int *maskptr, const uschar **errp)
       if (errp) *errp = "rudiculous long ip address string";
       return 0;
     }
-    addr = alloca(l+1); /* *BSD does not have strndupa() */
-    Ustrncpy((uschar *)addr, ip_addr, l);
-    ((uschar*)addr)[l] = '\0';
+    addr = string_copyn(ip_addr, l);
   } else addr = ip_addr;
 
   int af;