aboutsummaryrefslogtreecommitdiffstats
path: root/form.c
diff options
context:
space:
mode:
authorTatsuya Kinoshita <tats@debian.org>2016-12-24 03:58:44 +0000
committerTatsuya Kinoshita <tats@debian.org>2016-12-24 03:58:44 +0000
commitdc32152dc051923e322fc251aaa2dbd5e54c0fbf (patch)
treeba3b94d89370a486e7c2ba48d9e22245155c20ff /form.c
parentUpdate ChangeLog (diff)
downloadw3m-dc32152dc051923e322fc251aaa2dbd5e54c0fbf.tar.gz
w3m-dc32152dc051923e322fc251aaa2dbd5e54c0fbf.zip
Prevent invalid form_update_line() call in formUpdateBuffer()
Bug-Debian: https://github.com/tats/w3m/issues/82
Diffstat (limited to '')
-rw-r--r--form.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/form.c b/form.c
index 1aaaf19d..162439a 100644
--- a/form.c
+++ b/form.c
@@ -490,7 +490,8 @@ formUpdateBuffer(Anchor *a, Buffer *buf, FormItemList *form)
spos = a->start.pos;
epos = a->end.pos;
}
- if (a->start.line != a->end.line || spos > epos || epos >= l->len || spos < 0 || epos < 0)
+ if (a->start.line != a->end.line || spos > epos || epos >= l->len ||
+ spos < 0 || epos < 0 || COLPOS(l, epos) < col)
break;
pos = form_update_line(l, &p, spos, epos, COLPOS(l, epos) - col,
rows > 1,