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);