indent(1): the check for buffer overflow has to be done before copy

This commit is contained in:
Piotr Pawel Stefaniak 2018-06-03 17:07:56 +00:00
parent 33c2464207
commit bef613ff2f

View File

@ -1193,10 +1193,10 @@ main(int argc, char **argv)
*sc_end++ = ' ';
--line_no;
}
if (sc_end - save_com + com_end - com_start > sc_size)
errx(1, "input too long");
bcopy(s_lab + com_start, sc_end, com_end - com_start);
sc_end += com_end - com_start;
if (sc_end >= &save_com[sc_size])
errx(1, "input too long");
e_lab = s_lab + com_start;
while (e_lab > s_lab && (e_lab[-1] == ' ' || e_lab[-1] == '\t'))
e_lab--;