sbase

suckless unix tools
git clone git://git.2f30.org/sbase
Log | Files | Refs | README | LICENSE

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:
Mstrings.c | 8++++----
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);