diff options
author | Nicholas Marriott <nicm@cvs.openbsd.org> | 2019-04-01 19:33:39 +0000 |
---|---|---|
committer | Nicholas Marriott <nicm@cvs.openbsd.org> | 2019-04-01 19:33:39 +0000 |
commit | 6e4a96d6df3ca3b8cb704bb69153581575c2454b (patch) | |
tree | 0f18ddeca0d4483501eca227a49075765b55d781 /usr.bin/tmux | |
parent | 4303225d8607553a5fac899388a3f3393d0bba7b (diff) |
Restore a check to stop scrolled lines becoming larger than total lines,
fixes a crash reported by Thomas Sattler.
Diffstat (limited to 'usr.bin/tmux')
-rw-r--r-- | usr.bin/tmux/grid.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/usr.bin/tmux/grid.c b/usr.bin/tmux/grid.c index fbbc0712109..e4edba4367b 100644 --- a/usr.bin/tmux/grid.c +++ b/usr.bin/tmux/grid.c @@ -1,4 +1,4 @@ -/* $OpenBSD: grid.c,v 1.91 2019/03/20 19:19:11 nicm Exp $ */ +/* $OpenBSD: grid.c,v 1.92 2019/04/01 19:33:38 nicm Exp $ */ /* * Copyright (c) 2008 Nicholas Marriott <nicholas.marriott@gmail.com> @@ -1284,6 +1284,8 @@ grid_reflow(struct grid *gd, u_int sx) if (target->sy < gd->sy) grid_reflow_add(target, gd->sy - target->sy); gd->hsize = target->sy - gd->sy; + if (gd->hscrolled > gd->hsize) + gd->hscrolled = gd->hsize; free(gd->linedata); gd->linedata = target->linedata; free(target); |