Module Name:    src
Committed By:   martin
Date:           Mon Jan 27 21:30:18 UTC 2020

Modified Files:
        src/usr.sbin/sysinst: net.c

Log Message:
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various

        char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */

elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.


To generate a diff of this commit:
cvs rdiff -u -r1.34 -r1.35 src/usr.sbin/sysinst/net.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.sbin/sysinst/net.c
diff -u src/usr.sbin/sysinst/net.c:1.34 src/usr.sbin/sysinst/net.c:1.35
--- src/usr.sbin/sysinst/net.c:1.34	Sat Nov 16 20:26:59 2019
+++ src/usr.sbin/sysinst/net.c	Mon Jan 27 21:30:17 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: net.c,v 1.34 2019/11/16 20:26:59 martin Exp $	*/
+/*	$NetBSD: net.c,v 1.35 2020/01/27 21:30:17 martin Exp $	*/
 
 /*
  * Copyright 1997 Piermont Information Systems Inc.
@@ -279,7 +279,7 @@ do_ifreq(struct ifreq *ifr, unsigned lon
 		return -1;
 
 	memset(ifr, 0, sizeof *ifr);
-	strncpy(ifr->ifr_name, net_dev, sizeof ifr->ifr_name);
+	strlcpy(ifr->ifr_name, net_dev, sizeof ifr->ifr_name);
 	rval = ioctl(sock, cmd, ifr);
 	close(sock);
 
@@ -297,7 +297,7 @@ do_ifmreq(struct ifmediareq *ifmr, unsig
 		return -1;
 
 	memset(ifmr, 0, sizeof *ifmr);
-	strncpy(ifmr->ifm_name, net_dev, sizeof ifmr->ifm_name);
+	strlcpy(ifmr->ifm_name, net_dev, sizeof ifmr->ifm_name);
 	rval = ioctl(sock, cmd, ifmr);
 	close(sock);
 
@@ -539,7 +539,7 @@ again:
 	network_up = 1;
 	dhcp_config = 0;
 
-	strncpy(net_dev, net_devs[selected_net].if_dev, STRSIZE);
+	strlcpy(net_dev, net_devs[selected_net].if_dev, sizeof net_dev);
 
 	if (!handle_license(net_dev))
 		goto done;

Reply via email to