commit ef23f966c538007948e26ea39956fdafd94c9b16
parent 439bf8a157c6e4260c5fac94881b3e86a3dc86d7
Author: FRIGN <dev@frign.de>
Date: Tue, 17 Feb 2015 18:18:54 +0100
Refactor strings(1) loop again
fixing a little out-of-bounds write.
Diffstat:
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/strings.c b/strings.c
@@ -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);