summaryrefslogtreecommitdiffstats
path: root/sbin
diff options
context:
space:
mode:
authorasomers <asomers@FreeBSD.org>2017-07-07 15:35:42 +0000
committerasomers <asomers@FreeBSD.org>2017-07-07 15:35:42 +0000
commit44ed9064a08ad37fb8aca5c20740f1dba5a028aa (patch)
treedc8762c51d6a6d23f6028a2832e6c49b2e4fd7b3 /sbin
parentbdbc33e513b6361aff25d65081706ff033c98441 (diff)
downloadFreeBSD-src-44ed9064a08ad37fb8aca5c20740f1dba5a028aa.zip
FreeBSD-src-44ed9064a08ad37fb8aca5c20740f1dba5a028aa.tar.gz
MFC r319900:
sbin/ipfw: strcpy, strncpy => strlcpy Reported by: Coverity CID: 1356162, 1356166 Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D10662
Diffstat (limited to 'sbin')
-rw-r--r--sbin/ipfw/dummynet.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/sbin/ipfw/dummynet.c b/sbin/ipfw/dummynet.c
index e1fcef9..f088f04 100644
--- a/sbin/ipfw/dummynet.c
+++ b/sbin/ipfw/dummynet.c
@@ -799,8 +799,7 @@ read_bandwidth(char *arg, int *bandwidth, char *if_name, int namelen)
warn("interface name truncated");
namelen--;
/* interface name */
- strncpy(if_name, arg, namelen);
- if_name[namelen] = '\0';
+ strlcpy(if_name, arg, namelen);
*bandwidth = 0;
} else { /* read bandwidth value */
int bw;
@@ -927,8 +926,7 @@ load_extra_delays(const char *filename, struct dn_profile *p,
} else if (!strcasecmp(name, ED_TOK_NAME)) {
if (profile_name[0] != '\0')
errx(ED_EFMT("duplicated token: %s"), name);
- strncpy(profile_name, arg, sizeof(profile_name) - 1);
- profile_name[sizeof(profile_name)-1] = '\0';
+ strlcpy(profile_name, arg, sizeof(profile_name));
do_points = 0;
} else if (!strcasecmp(name, ED_TOK_DELAY)) {
if (do_points)
@@ -999,7 +997,7 @@ load_extra_delays(const char *filename, struct dn_profile *p,
}
p->samples_no = samples;
p->loss_level = loss * samples;
- strncpy(p->name, profile_name, sizeof(p->name));
+ strlcpy(p->name, profile_name, sizeof(p->name));
}
#ifdef NEW_AQM
@@ -1562,7 +1560,8 @@ end_mask:
fs->flags &= ~(DN_IS_RED|DN_IS_GENTLE_RED);
fs->flags |= DN_IS_AQM;
- strcpy(aqm_extra->name,av[-1]);
+ strlcpy(aqm_extra->name, av[-1],
+ sizeof(aqm_extra->name));
aqm_extra->oid.subtype = DN_AQM_PARAMS;
process_extra_parms(&ac, av, aqm_extra, tok);
@@ -1574,7 +1573,8 @@ end_mask:
errx(EX_DATAERR, "use type before fq_codel/fq_pie");
NEED(sch, "fq_codel/fq_pie is only for schd");
- strcpy(sch_extra->name,av[-1]);
+ strlcpy(sch_extra->name, av[-1],
+ sizeof(sch_extra->name));
sch_extra->oid.subtype = DN_SCH_PARAMS;
process_extra_parms(&ac, av, sch_extra, tok);
break;
@@ -1643,14 +1643,15 @@ end_mask:
l = strlen(av[0]);
if (l == 0 || l > 15)
errx(1, "type %s too long\n", av[0]);
- strcpy(sch->name, av[0]);
+ strlcpy(sch->name, av[0], sizeof(sch->name));
sch->oid.subtype = 0; /* use string */
#ifdef NEW_AQM
/* if fq_codel is selected, consider all tokens after it
* as parameters
*/
if (!strcasecmp(av[0],"fq_codel") || !strcasecmp(av[0],"fq_pie")){
- strcpy(sch_extra->name,av[0]);
+ strlcpy(sch_extra->name, av[0],
+ sizeof(sch_extra->name));
sch_extra->oid.subtype = DN_SCH_PARAMS;
process_extra_parms(&ac, av, sch_extra, tok);
} else {
OpenPOWER on IntegriCloud