void-packages/srcpkgs/libxml2/patches/CVE-2017-0663.patch
Helmut Pozimski 40a5a0c7fa libxml2: add patches for multiple CVEs
patches from the GNOME libxml2 git repository at https://git.gnome.org/browse/libxml2/ , revisions:

CVE-2016-4658 c1d1f7121194036608bf555f08d3062a36fd344b
CVE-2016-5131 a005199330b86dada19d162cae15ef9bdcb6baa8 and 9ab01a277d71f54d3143c2cf333c5c2e9aaedd9e
CVE-2017-0663 92b9e8c8b3787068565a1820ba575d042f9eec66
CVE-2017-7375 90ccb58242866b0ba3edbef8fe44214a101c2b3e
CVE-2017-7376 5dca9eea1bd4263bfa4d037ab2443de1cd730f7e
CVE-2017-9047 932cc9896ab41475d4aa429c27d9afd175959d74
CVE-2017-9048 932cc9896ab41475d4aa429c27d9afd175959d74
CVE-2017-9049 e26630548e7d138d2c560844c43820b6767251e3
CVE-2017-9050 e26630548e7d138d2c560844c43820b6767251e3
2017-08-24 15:49:50 +02:00

43 lines
1.3 KiB
Diff

From 92b9e8c8b3787068565a1820ba575d042f9eec66 Mon Sep 17 00:00:00 2001
From: Nick Wellnhofer <wellnhofer@aevum.de>
Date: Tue, 6 Jun 2017 12:56:28 +0200
Subject: Fix type confusion in xmlValidateOneNamespace
Comment out code that casts xmlNsPtr to xmlAttrPtr. ID types on
namespace declarations make no practical sense anyway.
Fixes bug 780228.
Found with libFuzzer and ASan.
---
valid.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/valid.c b/valid.c
index 8075d3a..c51ea29 100644
--- valid.c
+++ valid.c
@@ -4627,6 +4627,12 @@ xmlNodePtr elem, const xmlChar *prefix, xmlNsPtr ns, const xmlChar *value) {
}
}
+ /*
+ * Casting ns to xmlAttrPtr is wrong. We'd need separate functions
+ * xmlAddID and xmlAddRef for namespace declarations, but it makes
+ * no practical sense to use ID types anyway.
+ */
+#if 0
/* Validity Constraint: ID uniqueness */
if (attrDecl->atype == XML_ATTRIBUTE_ID) {
if (xmlAddID(ctxt, doc, value, (xmlAttrPtr) ns) == NULL)
@@ -4638,6 +4644,7 @@ xmlNodePtr elem, const xmlChar *prefix, xmlNsPtr ns, const xmlChar *value) {
if (xmlAddRef(ctxt, doc, value, (xmlAttrPtr) ns) == NULL)
ret = 0;
}
+#endif
/* Validity Constraint: Notation Attributes */
if (attrDecl->atype == XML_ATTRIBUTE_NOTATION) {
--
cgit v0.12