Refactor strings(1) loop again

fixing a little out-of-bounds write.
This commit is contained in:
FRIGN 2015-02-17 18:18:54 +01:00
parent 439bf8a157
commit ef23f966c5

View File

@ -27,17 +27,17 @@ strings(FILE *fp, const char *fname, size_t len)
i = 0;
continue;
}
if (i <= len) {
if (i < len) {
rbuf[i++] = r;
if (i < len)
continue;
} else {
continue;
} else if (i > len) {
efputrune(&r, stdout, "<stdout>");
continue;
}
printf(format, (long)off - i);
for (i = 0; i < len; i++)
efputrune(rbuf + i, stdout, "<stdout>");
efputrune(&r, stdout, "<stdout>");
i++;
}
free(rbuf);