Module Name:    src
Committed By:   mrg
Date:           Sun Oct 13 07:46:16 UTC 2019

Modified Files:
        src/tests/net/can: h_canutils.c
        src/tests/net/if_vlan: siocXmulti.c

Log Message:
ifr_name is nul terminated.  make it so.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/tests/net/can/h_canutils.c
cvs rdiff -u -r1.1 -r1.2 src/tests/net/if_vlan/siocXmulti.c

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

Modified files:

Index: src/tests/net/can/h_canutils.c
diff -u src/tests/net/can/h_canutils.c:1.3 src/tests/net/can/h_canutils.c:1.4
--- src/tests/net/can/h_canutils.c:1.3	Sun May 28 13:55:07 2017
+++ src/tests/net/can/h_canutils.c	Sun Oct 13 07:46:16 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: h_canutils.c,v 1.3 2017/05/28 13:55:07 kre Exp $	*/
+/*	$NetBSD: h_canutils.c,v 1.4 2019/10/13 07:46:16 mrg Exp $	*/
 
 /*-
  * Copyright (c) 2017 The NetBSD Foundation, Inc.
@@ -32,7 +32,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__RCSID("$NetBSD: h_canutils.c,v 1.3 2017/05/28 13:55:07 kre Exp $");
+__RCSID("$NetBSD: h_canutils.c,v 1.4 2019/10/13 07:46:16 mrg Exp $");
 #endif /* not lint */
 
 #include <sys/types.h>
@@ -70,14 +70,16 @@ cancfg_rump_createif(const char *ifname)
 	}
 
 	memset(&ifr, 0, sizeof(ifr));
-	strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
+	strncpy(ifr.ifr_name, ifname, IFNAMSIZ-1);
+	ifr.ifr_name[IFNAMSIZ - 1] = '\0';
 
 	if ((rv = rump_sys_ioctl(s, SIOCIFCREATE, &ifr)) < 0) {
 		atf_tc_fail_errno("if config create");
 	}
 
 	memset(&ifr, 0, sizeof(ifr));
-	strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
+	strncpy(ifr.ifr_name, ifname, IFNAMSIZ-1);
+	ifr.ifr_name[IFNAMSIZ - 1] = '\0';
 
 	if ((rv = rump_sys_ioctl(s, SIOCGIFFLAGS, &ifr)) < 0) {
 		atf_tc_fail_errno("if config get flags");

Index: src/tests/net/if_vlan/siocXmulti.c
diff -u src/tests/net/if_vlan/siocXmulti.c:1.1 src/tests/net/if_vlan/siocXmulti.c:1.2
--- src/tests/net/if_vlan/siocXmulti.c:1.1	Thu Jun 14 08:22:52 2018
+++ src/tests/net/if_vlan/siocXmulti.c	Sun Oct 13 07:46:16 2019
@@ -56,7 +56,8 @@ main(int argc, char *argv[])
 	if (ifidx == 0)
 		err(1, "if_nametoindex(%s)", argv[ARG_IFNAME]);
 
-	strncpy(ifr.ifr_name, argv[ARG_IFNAME], sizeof(ifr.ifr_name));
+	strncpy(ifr.ifr_name, argv[ARG_IFNAME], sizeof(ifr.ifr_name) - 1);
+	ifr.ifr_name[sizeof(ifr.ifr_name) - 1] = '\0';
 
 	sin = (struct sockaddr_in *)&ifr.ifr_addr;
 	sin->sin_family = AF_INET;

Reply via email to