Use strlcpy() in favor of strncpy() as it's defined to have a nul character
at the end of string buffer, and the code context do expects this to behave correctly (e.g. strchr). Note that we do not believe there is real-world impact for gstat(8)'s usage because the strings are length checked, and the on-stack buffer belongs to main() and we can expect to have zeros in them. MFC after: 2 weeks
This commit is contained in:
@@ -124,7 +124,7 @@ main(int argc, char **argv)
|
|||||||
if (regcomp(&f_re, optarg, REG_EXTENDED) != 0)
|
if (regcomp(&f_re, optarg, REG_EXTENDED) != 0)
|
||||||
errx(EX_USAGE,
|
errx(EX_USAGE,
|
||||||
"Invalid filter - see re_format(7)");
|
"Invalid filter - see re_format(7)");
|
||||||
strncpy(f_s, optarg, sizeof(f_s));
|
strlcpy(f_s, optarg, sizeof(f_s));
|
||||||
break;
|
break;
|
||||||
case 'o':
|
case 'o':
|
||||||
flag_o = 1;
|
flag_o = 1;
|
||||||
@@ -216,7 +216,7 @@ main(int argc, char **argv)
|
|||||||
getyx(stdscr, cury, curx);
|
getyx(stdscr, cury, curx);
|
||||||
getmaxyx(stdscr, maxy, maxx);
|
getmaxyx(stdscr, maxy, maxx);
|
||||||
}
|
}
|
||||||
strncpy(pf_s, f_s, sizeof(pf_s));
|
strlcpy(pf_s, f_s, sizeof(pf_s));
|
||||||
max_flen = maxx - curx - 1;
|
max_flen = maxx - curx - 1;
|
||||||
if ((int)strlen(f_s) > max_flen && max_flen >= 0) {
|
if ((int)strlen(f_s) > max_flen && max_flen >= 0) {
|
||||||
if (max_flen > 3)
|
if (max_flen > 3)
|
||||||
@@ -406,7 +406,7 @@ main(int argc, char **argv)
|
|||||||
err(1, "el_gets");
|
err(1, "el_gets");
|
||||||
if (line_len > 1)
|
if (line_len > 1)
|
||||||
history(hist, &hist_ev, H_ENTER, line);
|
history(hist, &hist_ev, H_ENTER, line);
|
||||||
strncpy(tmp_f_s, line, sizeof(f_s));
|
strlcpy(tmp_f_s, line, sizeof(f_s));
|
||||||
if ((p = strchr(tmp_f_s, '\n')) != NULL)
|
if ((p = strchr(tmp_f_s, '\n')) != NULL)
|
||||||
*p = '\0';
|
*p = '\0';
|
||||||
/*
|
/*
|
||||||
@@ -423,7 +423,7 @@ main(int argc, char **argv)
|
|||||||
refresh();
|
refresh();
|
||||||
sleep(1);
|
sleep(1);
|
||||||
} else {
|
} else {
|
||||||
strncpy(f_s, tmp_f_s, sizeof(f_s));
|
strlcpy(f_s, tmp_f_s, sizeof(f_s));
|
||||||
f_re = tmp_f_re;
|
f_re = tmp_f_re;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user