sbin/ipfw: strcpy, strncpy => strlcpy
Reported by: Coverity CID: 1356162, 1356166 MFC after: 3 weeks Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D10662
This commit is contained in:
parent
ce97f69621
commit
92b66dbe4d
@ -805,8 +805,7 @@ read_bandwidth(char *arg, int *bandwidth, char *if_name, int namelen)
|
|||||||
warn("interface name truncated");
|
warn("interface name truncated");
|
||||||
namelen--;
|
namelen--;
|
||||||
/* interface name */
|
/* interface name */
|
||||||
strncpy(if_name, arg, namelen);
|
strlcpy(if_name, arg, namelen);
|
||||||
if_name[namelen] = '\0';
|
|
||||||
*bandwidth = 0;
|
*bandwidth = 0;
|
||||||
} else { /* read bandwidth value */
|
} else { /* read bandwidth value */
|
||||||
int bw;
|
int bw;
|
||||||
@ -933,8 +932,7 @@ load_extra_delays(const char *filename, struct dn_profile *p,
|
|||||||
} else if (!strcasecmp(name, ED_TOK_NAME)) {
|
} else if (!strcasecmp(name, ED_TOK_NAME)) {
|
||||||
if (profile_name[0] != '\0')
|
if (profile_name[0] != '\0')
|
||||||
errx(ED_EFMT("duplicated token: %s"), name);
|
errx(ED_EFMT("duplicated token: %s"), name);
|
||||||
strncpy(profile_name, arg, sizeof(profile_name) - 1);
|
strlcpy(profile_name, arg, sizeof(profile_name));
|
||||||
profile_name[sizeof(profile_name)-1] = '\0';
|
|
||||||
do_points = 0;
|
do_points = 0;
|
||||||
} else if (!strcasecmp(name, ED_TOK_DELAY)) {
|
} else if (!strcasecmp(name, ED_TOK_DELAY)) {
|
||||||
if (do_points)
|
if (do_points)
|
||||||
@ -1005,7 +1003,7 @@ load_extra_delays(const char *filename, struct dn_profile *p,
|
|||||||
}
|
}
|
||||||
p->samples_no = samples;
|
p->samples_no = samples;
|
||||||
p->loss_level = loss * 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
|
#ifdef NEW_AQM
|
||||||
@ -1568,7 +1566,8 @@ ipfw_config_pipe(int ac, char **av)
|
|||||||
fs->flags &= ~(DN_IS_RED|DN_IS_GENTLE_RED);
|
fs->flags &= ~(DN_IS_RED|DN_IS_GENTLE_RED);
|
||||||
fs->flags |= DN_IS_AQM;
|
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;
|
aqm_extra->oid.subtype = DN_AQM_PARAMS;
|
||||||
|
|
||||||
process_extra_parms(&ac, av, aqm_extra, tok);
|
process_extra_parms(&ac, av, aqm_extra, tok);
|
||||||
@ -1580,7 +1579,8 @@ ipfw_config_pipe(int ac, char **av)
|
|||||||
errx(EX_DATAERR, "use type before fq_codel/fq_pie");
|
errx(EX_DATAERR, "use type before fq_codel/fq_pie");
|
||||||
|
|
||||||
NEED(sch, "fq_codel/fq_pie is only for schd");
|
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;
|
sch_extra->oid.subtype = DN_SCH_PARAMS;
|
||||||
process_extra_parms(&ac, av, sch_extra, tok);
|
process_extra_parms(&ac, av, sch_extra, tok);
|
||||||
break;
|
break;
|
||||||
@ -1649,14 +1649,15 @@ ipfw_config_pipe(int ac, char **av)
|
|||||||
l = strlen(av[0]);
|
l = strlen(av[0]);
|
||||||
if (l == 0 || l > 15)
|
if (l == 0 || l > 15)
|
||||||
errx(1, "type %s too long\n", av[0]);
|
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 */
|
sch->oid.subtype = 0; /* use string */
|
||||||
#ifdef NEW_AQM
|
#ifdef NEW_AQM
|
||||||
/* if fq_codel is selected, consider all tokens after it
|
/* if fq_codel is selected, consider all tokens after it
|
||||||
* as parameters
|
* as parameters
|
||||||
*/
|
*/
|
||||||
if (!strcasecmp(av[0],"fq_codel") || !strcasecmp(av[0],"fq_pie")){
|
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;
|
sch_extra->oid.subtype = DN_SCH_PARAMS;
|
||||||
process_extra_parms(&ac, av, sch_extra, tok);
|
process_extra_parms(&ac, av, sch_extra, tok);
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user