diff options
author | Allan McRae <allan@archlinux.org> | 2012-08-11 15:43:43 +0200 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2012-09-18 15:38:45 +0200 |
commit | 8f5ee729747937f52c2cc199a7498629ab6c9a7d (patch) | |
tree | a6db19186ef44199f64b780359333d7c6d8fe81e | |
parent | 7262f4bed455eee1a9341aabb08110e6c8f6db28 (diff) | |
download | pacman-8f5ee729747937f52c2cc199a7498629ab6c9a7d.tar.gz pacman-8f5ee729747937f52c2cc199a7498629ab6c9a7d.tar.xz |
Avoid interger overflow when calculating remaining line length
When the len and cidx were changed to size_t in a8a1b093, it was
possible to have an integer overflow when a line ended right at the
edge of the terminal width.
Signed-off-by: Allan McRae <allan@archlinux.org>
-rw-r--r-- | src/pacman/util.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/pacman/util.c b/src/pacman/util.c index 5079b4ce..5ed450ec 100644 --- a/src/pacman/util.c +++ b/src/pacman/util.c @@ -304,7 +304,7 @@ void indentprint(const char *str, unsigned short indent, unsigned short cols) while(q < next) { len += wcwidth(*q++); } - if(len > (cols - cidx - 1)) { + if((len + 1) > (cols - cidx)) { /* wrap to a newline and reindent */ printf("\n%-*s", (int)indent, ""); cidx = indent; |