[git commit] less: fix SEGV
Denys Vlasenko
vda.linux at googlemail.com
Tue Aug 16 13:09:40 UTC 2016
commit: https://git.busybox.net/busybox/commit/?id=252559601f12e22ad3a687fb8188fdbf63bbdc45
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master
testcase: echo "" | less, then press ')' key
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
miscutils/less.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/miscutils/less.c b/miscutils/less.c
index d7076db..10e1d8e 100644
--- a/miscutils/less.c
+++ b/miscutils/less.c
@@ -1591,7 +1591,9 @@ static void match_right_bracket(char bracket)
{
unsigned i;
- if (strchr(flines[cur_fline], bracket) == NULL) {
+ if (cur_fline >= max_fline
+ || strchr(flines[cur_fline], bracket) == NULL
+ ) {
print_statusline("No bracket in top line");
return;
}
@@ -1609,7 +1611,9 @@ static void match_left_bracket(char bracket)
{
int i;
- if (strchr(flines[cur_fline + max_displayed_line], bracket) == NULL) {
+ if (cur_fline + max_displayed_line >= max_fline
+ || strchr(flines[cur_fline + max_displayed_line], bracket) == NULL
+ ) {
print_statusline("No bracket in bottom line");
return;
}
More information about the busybox-cvs
mailing list