41 lines
1.3 KiB
Diff
41 lines
1.3 KiB
Diff
libxml2: Fix CVE-2017-0663
|
|
|
|
[No upstream tracking] -- https://bugzilla.gnome.org/show_bug.cgi?id=780228
|
|
|
|
valid: 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
|
|
|
|
Upstream-Status: Backport [https://git.gnome.org/browse/libxml2/commit/?id=92b9e8c8b3787068565a1820ba575d042f9eec66]
|
|
CVE: CVE-2017-0663
|
|
Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
|
|
|
|
diff --git a/valid.c b/valid.c
|
|
index 19f84b8..e03d35e 100644
|
|
--- a/valid.c
|
|
+++ b/valid.c
|
|
@@ -4621,6 +4621,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)
|
|
@@ -4632,6 +4638,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) {
|