aboutsummaryrefslogtreecommitdiffstats
path: root/debian/patches/904_form-update.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/904_form-update.patch')
-rw-r--r--debian/patches/904_form-update.patch19
1 files changed, 19 insertions, 0 deletions
diff --git a/debian/patches/904_form-update.patch b/debian/patches/904_form-update.patch
new file mode 100644
index 0000000..00967a0
--- /dev/null
+++ b/debian/patches/904_form-update.patch
@@ -0,0 +1,19 @@
+Subject: Prevent segfault for formUpdateBuffer
+Author: Tatsuya Kinoshita <tats@debian.org>
+Bug-Debian: https://github.com/tats/w3m/issues/9 [CVE-2016-9423]
+Bug-Debian: https://github.com/tats/w3m/issues/10 [CVE-2016-9431]
+Origin: https://anonscm.debian.org/cgit/collab-maint/w3m.git/commit/?id=9f0bdcfdf061db3520bd1f112bdc5e83acdec4be
+
+diff --git a/form.c b/form.c
+index 62b568e..87a5d49 100644
+--- a/form.c
++++ b/form.c
+@@ -477,6 +477,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 = spos;
+ pos = form_update_line(l, &p, spos, epos, COLPOS(l, epos) - col,
+ rows > 1,
+ form->type == FORM_INPUT_PASSWORD);