aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches/libxml2-bug-754946.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/libxml2-bug-754946.patch')
-rw-r--r--gnu/packages/patches/libxml2-bug-754946.patch132
1 files changed, 0 insertions, 132 deletions
diff --git a/gnu/packages/patches/libxml2-bug-754946.patch b/gnu/packages/patches/libxml2-bug-754946.patch
deleted file mode 100644
index 3b9223efe5..0000000000
--- a/gnu/packages/patches/libxml2-bug-754946.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-From 51f02b0a03ea1fa6c65b3f9fd88cf60fb5803783 Mon Sep 17 00:00:00 2001
-From: Daniel Veillard <veillard@redhat.com>
-Date: Tue, 15 Sep 2015 16:50:32 +0800
-Subject: [PATCH] Fix a bug on name parsing at the end of current input buffer
-
-For https://bugzilla.gnome.org/show_bug.cgi?id=754946
-
-When hitting the end of the current input buffer while parsing
-a name we could end up loosing the beginning of the name, which
-led to various issues.
----
- parser.c | 29 ++++++++++++++++++++---------
- result/errors/754946.xml | 0
- result/errors/754946.xml.err | 16 ++++++++++++++++
- result/errors/754946.xml.str | 4 ++++
- test/errors/754946.xml | 1 +
- 5 files changed, 41 insertions(+), 9 deletions(-)
- create mode 100644 result/errors/754946.xml
- create mode 100644 result/errors/754946.xml.err
- create mode 100644 result/errors/754946.xml.str
- create mode 100644 test/errors/754946.xml
-
-diff --git a/parser.c b/parser.c
-index 0edd53b..fd29a39 100644
---- a/parser.c
-+++ b/parser.c
-@@ -3491,7 +3491,14 @@ xmlParseNCNameComplex(xmlParserCtxtPtr ctxt) {
- c = CUR_CHAR(l);
- if (c == 0) {
- count = 0;
-+ /*
-+ * when shrinking to extend the buffer we really need to preserve
-+ * the part of the name we already parsed. Hence rolling back
-+ * by current lenght.
-+ */
-+ ctxt->input->cur -= l;
- GROW;
-+ ctxt->input->cur += l;
- if (ctxt->instate == XML_PARSER_EOF)
- return(NULL);
- end = ctxt->input->cur;
-@@ -3523,7 +3530,7 @@ xmlParseNCNameComplex(xmlParserCtxtPtr ctxt) {
-
- static const xmlChar *
- xmlParseNCName(xmlParserCtxtPtr ctxt) {
-- const xmlChar *in;
-+ const xmlChar *in, *e;
- const xmlChar *ret;
- int count = 0;
-
-@@ -3535,16 +3542,19 @@ xmlParseNCName(xmlParserCtxtPtr ctxt) {
- * Accelerator for simple ASCII names
- */
- in = ctxt->input->cur;
-- if (((*in >= 0x61) && (*in <= 0x7A)) ||
-- ((*in >= 0x41) && (*in <= 0x5A)) ||
-- (*in == '_')) {
-+ e = ctxt->input->end;
-+ if ((((*in >= 0x61) && (*in <= 0x7A)) ||
-+ ((*in >= 0x41) && (*in <= 0x5A)) ||
-+ (*in == '_')) && (in < e)) {
- in++;
-- while (((*in >= 0x61) && (*in <= 0x7A)) ||
-- ((*in >= 0x41) && (*in <= 0x5A)) ||
-- ((*in >= 0x30) && (*in <= 0x39)) ||
-- (*in == '_') || (*in == '-') ||
-- (*in == '.'))
-+ while ((((*in >= 0x61) && (*in <= 0x7A)) ||
-+ ((*in >= 0x41) && (*in <= 0x5A)) ||
-+ ((*in >= 0x30) && (*in <= 0x39)) ||
-+ (*in == '_') || (*in == '-') ||
-+ (*in == '.')) && (in < e))
- in++;
-+ if (in >= e)
-+ goto complex;
- if ((*in > 0) && (*in < 0x80)) {
- count = in - ctxt->input->cur;
- if ((count > XML_MAX_NAME_LENGTH) &&
-@@ -3562,6 +3572,7 @@ xmlParseNCName(xmlParserCtxtPtr ctxt) {
- return(ret);
- }
- }
-+complex:
- return(xmlParseNCNameComplex(ctxt));
- }
-
-diff --git a/result/errors/754946.xml b/result/errors/754946.xml
-new file mode 100644
-index 0000000..e69de29
-diff --git a/result/errors/754946.xml.err b/result/errors/754946.xml.err
-new file mode 100644
-index 0000000..423dff5
---- /dev/null
-+++ b/result/errors/754946.xml.err
-@@ -0,0 +1,16 @@
-+Entity: line 1: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
-+
-+ %SYSTEM;
-+ ^
-+Entity: line 1:
-+A<lbbbbbbbbbbbbbbbbbbb_
-+^
-+Entity: line 1: parser error : DOCTYPE improperly terminated
-+ %SYSTEM;
-+ ^
-+Entity: line 1:
-+A<lbbbbbbbbbbbbbbbbbbb_
-+^
-+./test/errors/754946.xml:1: parser error : Extra content at the end of the document
-+<!DOCTYPEA[<!ENTITY %
-+ ^
-diff --git a/result/errors/754946.xml.str b/result/errors/754946.xml.str
-new file mode 100644
-index 0000000..3b748cc
---- /dev/null
-+++ b/result/errors/754946.xml.str
-@@ -0,0 +1,4 @@
-+./test/errors/754946.xml:1: parser error : Extra content at the end of the document
-+<!DOCTYPEA[<!ENTITY %
-+ ^
-+./test/errors/754946.xml : failed to parse
-diff --git a/test/errors/754946.xml b/test/errors/754946.xml
-new file mode 100644
-index 0000000..6b5f9b0
---- /dev/null
-+++ b/test/errors/754946.xml
-@@ -0,0 +1 @@
-+<!DOCTYPEA[<!ENTITY % SYSTEM "A<lbbbbbbbbbbbbbbbbbbb_" >%SYSTEM;<![
-\ No newline at end of file
---
-2.6.3
-