M gnu/local.mk => gnu/local.mk +1 -0
@@ 633,6 633,7 @@ dist_patch_DATA = \
%D%/packages/patches/libwmf-CVE-2015-0848+CVE-2015-4588.patch \
%D%/packages/patches/libwmf-CVE-2015-4695.patch \
%D%/packages/patches/libwmf-CVE-2015-4696.patch \
+ %D%/packages/patches/libxml2-CVE-2016-1762.patch \
%D%/packages/patches/libxslt-CVE-2015-7995.patch \
%D%/packages/patches/lirc-localstatedir.patch \
%D%/packages/patches/libpthread-glibc-preparation.patch \
A gnu/packages/patches/libxml2-CVE-2016-1762.patch => gnu/packages/patches/libxml2-CVE-2016-1762.patch +31 -0
@@ 0,0 1,31 @@
+Copied from Debian.
+
+From a7a94612aa3b16779e2c74e1fa353b5d9786c602 Mon Sep 17 00:00:00 2001
+From: Daniel Veillard <veillard@redhat.com>
+Date: Tue, 9 Feb 2016 12:55:29 +0100
+Subject: [PATCH] Heap-based buffer overread in xmlNextChar
+
+For https://bugzilla.gnome.org/show_bug.cgi?id=759671
+
+when the end of the internal subset isn't properly detected
+xmlParseInternalSubset should just return instead of trying
+to process input further.
+
+[carnil: drop patches to testsuite files]
+---
+
+diff --git a/parser.c b/parser.c
+index c5741e3..0677030 100644
+--- a/parser.c
++++ b/parser.c
+@@ -8468,6 +8468,7 @@ xmlParseInternalSubset(xmlParserCtxtPtr ctxt) {
+ */
+ if (RAW != '>') {
+ xmlFatalErr(ctxt, XML_ERR_DOCTYPE_NOT_FINISHED, NULL);
++ return;
+ }
+ NEXT;
+ }
+--
+2.8.1
+
M gnu/packages/xml.scm => gnu/packages/xml.scm +2 -1
@@ 116,7 116,8 @@ project (but it is usable outside of the Gnome platform).")
version ".tar.gz"))
(sha256
(base32
- "0g336cr0bw6dax1q48bblphmchgihx9p1pjmxdnrd6sh3qci3fgz")))))))
+ "0g336cr0bw6dax1q48bblphmchgihx9p1pjmxdnrd6sh3qci3fgz"))
+ (patches (search-patches "libxml2-CVE-2016-1762.patch")))))))
(define-public python-libxml2
(package (inherit libxml2)