summaryrefslogtreecommitdiff
path: root/textproc/libxml2/files/patch-CVE-2008-3529
diff options
context:
space:
mode:
Diffstat (limited to 'textproc/libxml2/files/patch-CVE-2008-3529')
-rw-r--r--textproc/libxml2/files/patch-CVE-2008-352919
1 files changed, 19 insertions, 0 deletions
diff --git a/textproc/libxml2/files/patch-CVE-2008-3529 b/textproc/libxml2/files/patch-CVE-2008-3529
new file mode 100644
index 000000000000..943fa2b8005b
--- /dev/null
+++ b/textproc/libxml2/files/patch-CVE-2008-3529
@@ -0,0 +1,19 @@
+--- parser.c.orig 2008-09-03 15:55:59.000000000 +0200
++++ parser.c 2008-09-03 16:30:22.000000000 +0200
+@@ -2301,6 +2301,7 @@ xmlParserHandlePEReference(xmlParserCtxt
+ */
+ #define growBuffer(buffer) { \
+ xmlChar *tmp; \
++ buffer##_size += XML_PARSER_BUFFER_SIZE ; \
+ buffer##_size *= 2; \
+ tmp = (xmlChar *) \
+ xmlRealloc(buffer, buffer##_size * sizeof(xmlChar)); \
+@@ -3341,7 +3342,7 @@ xmlParseAttValueComplex(xmlParserCtxtPtr
+ * Just output the reference
+ */
+ buf[len++] = '&';
+- if (len > buf_size - i - 10) {
++ while (len > buf_size - i - 10) {
+ growBuffer(buf);
+ }
+ for (;i > 0;i--)