Module Name:    src
Committed By:   maya
Date:           Thu Jan 19 00:44:40 UTC 2017

Modified Files:
        src/sys/dev/dkwedge: dk.c dkwedge_apple.c dkwedge_gpt.c dkwedge_mbr.c

Log Message:
use a bounded copy. NFCI


To generate a diff of this commit:
cvs rdiff -u -r1.93 -r1.94 src/sys/dev/dkwedge/dk.c
cvs rdiff -u -r1.2 -r1.3 src/sys/dev/dkwedge/dkwedge_apple.c
cvs rdiff -u -r1.17 -r1.18 src/sys/dev/dkwedge/dkwedge_gpt.c
cvs rdiff -u -r1.9 -r1.10 src/sys/dev/dkwedge/dkwedge_mbr.c

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

Modified files:

Index: src/sys/dev/dkwedge/dk.c
diff -u src/sys/dev/dkwedge/dk.c:1.93 src/sys/dev/dkwedge/dk.c:1.94
--- src/sys/dev/dkwedge/dk.c:1.93	Sat Dec 24 16:39:55 2016
+++ src/sys/dev/dkwedge/dk.c	Thu Jan 19 00:44:40 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: dk.c,v 1.93 2016/12/24 16:39:55 mlelstv Exp $	*/
+/*	$NetBSD: dk.c,v 1.94 2017/01/19 00:44:40 maya Exp $	*/
 
 /*-
  * Copyright (c) 2004, 2005, 2006, 2007 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: dk.c,v 1.93 2016/12/24 16:39:55 mlelstv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: dk.c,v 1.94 2017/01/19 00:44:40 maya Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_dkwedge.h"
@@ -686,7 +686,7 @@ dkwedge_delall1(struct disk *pdk, bool i
 			mutex_exit(&pdk->dk_openlock);
 			return;
 		}
-		strcpy(dkw.dkw_parent, pdk->dk_name);
+		strlcpy(dkw.dkw_parent, pdk->dk_name, sizeof(dkw.dkw_parent));
 		strlcpy(dkw.dkw_devname, device_xname(sc->sc_dev),
 			sizeof(dkw.dkw_devname));
 		mutex_exit(&pdk->dk_openlock);
@@ -733,10 +733,11 @@ dkwedge_list(struct disk *pdk, struct dk
 			sizeof(dkw.dkw_devname));
 		memcpy(dkw.dkw_wname, sc->sc_wname, sizeof(dkw.dkw_wname));
 		dkw.dkw_wname[sizeof(dkw.dkw_wname) - 1] = '\0';
-		strcpy(dkw.dkw_parent, sc->sc_parent->dk_name);
+		strlcpy(dkw.dkw_parent, sc->sc_parent->dk_name,
+		    sizeof(dkw.dkw_parent));
 		dkw.dkw_offset = sc->sc_offset;
 		dkw.dkw_size = sc->sc_size;
-		strcpy(dkw.dkw_ptype, sc->sc_ptype);
+		strlcpy(dkw.dkw_ptype, sc->sc_ptype, sizeof(dkw.dkw_ptype));
 
 		error = uiomove(&dkw, sizeof(dkw), &uio);
 		if (error)
@@ -1497,10 +1498,11 @@ dkioctl(dev_t dev, u_long cmd, void *dat
 			sizeof(dkw->dkw_devname));
 	    	memcpy(dkw->dkw_wname, sc->sc_wname, sizeof(dkw->dkw_wname));
 		dkw->dkw_wname[sizeof(dkw->dkw_wname) - 1] = '\0';
-		strcpy(dkw->dkw_parent, sc->sc_parent->dk_name);
+		strlcpy(dkw->dkw_parent, sc->sc_parent->dk_name,
+		    sizeof(dkw->dkw_parent));
 		dkw->dkw_offset = sc->sc_offset;
 		dkw->dkw_size = sc->sc_size;
-		strcpy(dkw->dkw_ptype, sc->sc_ptype);
+		strlcpy(dkw->dkw_ptype, sc->sc_ptype, sizeof(dkw->dkw_ptype));
 
 		break;
 	    }

Index: src/sys/dev/dkwedge/dkwedge_apple.c
diff -u src/sys/dev/dkwedge/dkwedge_apple.c:1.2 src/sys/dev/dkwedge/dkwedge_apple.c:1.3
--- src/sys/dev/dkwedge/dkwedge_apple.c:1.2	Sat Jan 24 02:58:56 2015
+++ src/sys/dev/dkwedge/dkwedge_apple.c	Thu Jan 19 00:44:40 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: dkwedge_apple.c,v 1.2 2015/01/24 02:58:56 christos Exp $	*/
+/*	$NetBSD: dkwedge_apple.c,v 1.3 2017/01/19 00:44:40 maya Exp $	*/
 
 /*-
  * Copyright (c) 2012 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: dkwedge_apple.c,v 1.2 2015/01/24 02:58:56 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: dkwedge_apple.c,v 1.3 2017/01/19 00:44:40 maya Exp $");
 
 #include <sys/param.h>
 #ifdef _KERNEL
@@ -217,8 +217,8 @@ dkwedge_discover_apple(struct disk *pdk,
 
 		struct dkwedge_info dkw;
 
-		strcpy(dkw.dkw_ptype, ptype);
-		strcpy(dkw.dkw_parent, pdk->dk_name);
+		strlcpy(dkw.dkw_ptype, ptype, sizeof(dkw.dkw_ptype));
+		strlcpy(dkw.dkw_parent, pdk->dk_name, sizeof(dkw.dkw_parent));
 		dkw.dkw_offset = ae->pmPyPartStart;
 		dkw.dkw_size = ae->pmPartBlkCnt;
 		strlcpy(dkw.dkw_wname, ae->pmPartName, sizeof(dkw.dkw_wname));

Index: src/sys/dev/dkwedge/dkwedge_gpt.c
diff -u src/sys/dev/dkwedge/dkwedge_gpt.c:1.17 src/sys/dev/dkwedge/dkwedge_gpt.c:1.18
--- src/sys/dev/dkwedge/dkwedge_gpt.c:1.17	Thu Apr 28 00:35:24 2016
+++ src/sys/dev/dkwedge/dkwedge_gpt.c	Thu Jan 19 00:44:40 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: dkwedge_gpt.c,v 1.17 2016/04/28 00:35:24 christos Exp $	*/
+/*	$NetBSD: dkwedge_gpt.c,v 1.18 2017/01/19 00:44:40 maya Exp $	*/
 
 /*-
  * Copyright (c) 2004 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: dkwedge_gpt.c,v 1.17 2016/04/28 00:35:24 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: dkwedge_gpt.c,v 1.18 2017/01/19 00:44:40 maya Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -239,16 +239,16 @@ dkwedge_discover_gpt(struct disk *pdk, s
 
 		/* figure out the type */
 		ptype = gpt_ptype_guid_to_str(&ptype_guid);
-		strcpy(dkw.dkw_ptype, ptype);
+		strlcpy(dkw.dkw_ptype, ptype, sizeof(dkw.dkw_ptype));
 
-		strcpy(dkw.dkw_parent, pdk->dk_name);
+		strlcpy(dkw.dkw_parent, pdk->dk_name, sizeof(dkw.dkw_parent));
 		dkw.dkw_offset = le64toh(ent->ent_lba_start);
 		dkw.dkw_size = le64toh(ent->ent_lba_end) - dkw.dkw_offset + 1;
 
 		/* XXX Make sure it falls within the disk's data area. */
 
 		if (ent->ent_name[0] == 0x0000)
-			strcpy(dkw.dkw_wname, ent_guid_str);
+			strlcpy(dkw.dkw_wname, ent_guid_str, sizeof(dkw.dkw_wname));
 		else {
 			c = dkw.dkw_wname;
 			r = sizeof(dkw.dkw_wname) - 1;
@@ -268,8 +268,8 @@ dkwedge_discover_gpt(struct disk *pdk, s
 		if ((error = dkwedge_add(&dkw)) == EEXIST &&
 		    strcmp(dkw.dkw_wname, ent_guid_str) != 0) {
 			char orig[sizeof(dkw.dkw_wname)];
-			strcpy(orig, dkw.dkw_wname);
-			strcpy(dkw.dkw_wname, ent_guid_str);
+			strlcpy(orig, dkw.dkw_wname, sizeof(orig));
+			strlcpy(dkw.dkw_wname, ent_guid_str, sizeof(dkw.dkw_wname));
 			error = dkwedge_add(&dkw);
 			if (!error)
 				aprint_error("%s: wedge named '%s' already "

Index: src/sys/dev/dkwedge/dkwedge_mbr.c
diff -u src/sys/dev/dkwedge/dkwedge_mbr.c:1.9 src/sys/dev/dkwedge/dkwedge_mbr.c:1.10
--- src/sys/dev/dkwedge/dkwedge_mbr.c:1.9	Wed Dec  2 01:09:49 2015
+++ src/sys/dev/dkwedge/dkwedge_mbr.c	Thu Jan 19 00:44:40 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: dkwedge_mbr.c,v 1.9 2015/12/02 01:09:49 christos Exp $	*/
+/*	$NetBSD: dkwedge_mbr.c,v 1.10 2017/01/19 00:44:40 maya Exp $	*/
 
 /*-
  * Copyright (c) 2004 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: dkwedge_mbr.c,v 1.9 2015/12/02 01:09:49 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: dkwedge_mbr.c,v 1.10 2017/01/19 00:44:40 maya Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -124,9 +124,9 @@ getparts(mbr_args_t *a, uint32_t off, ui
 			    dp[i].mbrp_type);
 			continue;
 		}
-		strcpy(dkw.dkw_ptype, ptype);
+		strlcpy(dkw.dkw_ptype, ptype, sizeof(dkw.dkw_ptype));
 
-		strcpy(dkw.dkw_parent, a->pdk->dk_name);
+		strlcpy(dkw.dkw_parent, a->pdk->dk_name, sizeof(dkw.dkw_parent));
 		dkw.dkw_offset = le32toh(dp[i].mbrp_start);
 		dkw.dkw_size = le32toh(dp[i].mbrp_size);
 

Reply via email to