net: ipconfig: use strscpy to replace strlcpy
authorXueBing Chen <chenxuebing@jari.cn>
Fri, 1 Jul 2022 10:55:17 +0000 (18:55 +0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 4 Jul 2022 09:28:00 +0000 (10:28 +0100)
The strlcpy should not be used because it doesn't limit the source
length. Preferred is strscpy.

Signed-off-by: XueBing Chen <chenxuebing@jari.cn>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/ipconfig.c

index 9d41d5d..f53a0f2 100644 (file)
@@ -1759,15 +1759,15 @@ static int __init ip_auto_config_setup(char *addrs)
                        case 4:
                                if ((dp = strchr(ip, '.'))) {
                                        *dp++ = '\0';
-                                       strlcpy(utsname()->domainname, dp,
+                                       strscpy(utsname()->domainname, dp,
                                                sizeof(utsname()->domainname));
                                }
-                               strlcpy(utsname()->nodename, ip,
+                               strscpy(utsname()->nodename, ip,
                                        sizeof(utsname()->nodename));
                                ic_host_name_set = 1;
                                break;
                        case 5:
-                               strlcpy(user_dev_name, ip, sizeof(user_dev_name));
+                               strscpy(user_dev_name, ip, sizeof(user_dev_name));
                                break;
                        case 6:
                                if (ic_proto_name(ip) == 0 &&
@@ -1814,7 +1814,7 @@ __setup("nfsaddrs=", nfsaddrs_config_setup);
 
 static int __init vendor_class_identifier_setup(char *addrs)
 {
-       if (strlcpy(vendor_class_identifier, addrs,
+       if (strscpy(vendor_class_identifier, addrs,
                    sizeof(vendor_class_identifier))
            >= sizeof(vendor_class_identifier))
                pr_warn("DHCP: vendorclass too long, truncated to \"%s\"\n",