aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2016-08-16 15:09:40 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2016-08-16 15:09:40 +0200
commit252559601f12e22ad3a687fb8188fdbf63bbdc45 (patch)
tree534d9090163e81f88a1f561150683aa6860daa13
parent560cf8c7ebd3feff6244a381a300cb2bac8570ec (diff)
downloadbusybox-w32-252559601f12e22ad3a687fb8188fdbf63bbdc45.tar.gz
busybox-w32-252559601f12e22ad3a687fb8188fdbf63bbdc45.tar.bz2
busybox-w32-252559601f12e22ad3a687fb8188fdbf63bbdc45.zip
less: fix SEGV
testcase: echo "" | less, then press ')' key Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--miscutils/less.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/miscutils/less.c b/miscutils/less.c
index d7076dbbc..10e1d8e16 100644
--- a/miscutils/less.c
+++ b/miscutils/less.c
@@ -1591,7 +1591,9 @@ static void match_right_bracket(char bracket)
1591{ 1591{
1592 unsigned i; 1592 unsigned i;
1593 1593
1594 if (strchr(flines[cur_fline], bracket) == NULL) { 1594 if (cur_fline >= max_fline
1595 || strchr(flines[cur_fline], bracket) == NULL
1596 ) {
1595 print_statusline("No bracket in top line"); 1597 print_statusline("No bracket in top line");
1596 return; 1598 return;
1597 } 1599 }
@@ -1609,7 +1611,9 @@ static void match_left_bracket(char bracket)
1609{ 1611{
1610 int i; 1612 int i;
1611 1613
1612 if (strchr(flines[cur_fline + max_displayed_line], bracket) == NULL) { 1614 if (cur_fline + max_displayed_line >= max_fline
1615 || strchr(flines[cur_fline + max_displayed_line], bracket) == NULL
1616 ) {
1613 print_statusline("No bracket in bottom line"); 1617 print_statusline("No bracket in bottom line");
1614 return; 1618 return;
1615 } 1619 }