summaryrefslogtreecommitdiff
path: root/textproc/libxml2/patches/patch-al
diff options
context:
space:
mode:
Diffstat (limited to 'textproc/libxml2/patches/patch-al')
-rw-r--r--textproc/libxml2/patches/patch-al93
1 files changed, 0 insertions, 93 deletions
diff --git a/textproc/libxml2/patches/patch-al b/textproc/libxml2/patches/patch-al
deleted file mode 100644
index 41a55634147..00000000000
--- a/textproc/libxml2/patches/patch-al
+++ /dev/null
@@ -1,93 +0,0 @@
-$NetBSD: patch-al,v 1.3 2012/01/17 14:43:44 drochner Exp $
-
--from gnome git: Fix some potential problems on reallocation failures
--CVE-2011-3919
--from gnome git: Fix memory corruption
--CVE-2011-3905
-
---- parser.c.orig 2012-01-17 10:21:47.000000000 +0000
-+++ parser.c
-@@ -1819,15 +1819,14 @@ namePush(xmlParserCtxtPtr ctxt, const xm
-
- if (ctxt->nameNr >= ctxt->nameMax) {
- const xmlChar * *tmp;
-- ctxt->nameMax *= 2;
- tmp = (const xmlChar * *) xmlRealloc((xmlChar * *)ctxt->nameTab,
-- ctxt->nameMax *
-+ ctxt->nameMax * 2 *
- sizeof(ctxt->nameTab[0]));
- if (tmp == NULL) {
-- ctxt->nameMax /= 2;
- goto mem_error;
- }
- ctxt->nameTab = tmp;
-+ ctxt->nameMax *= 2;
- }
- ctxt->nameTab[ctxt->nameNr] = value;
- ctxt->name = value;
-@@ -2709,7 +2708,7 @@ xmlStringLenDecodeEntities(xmlParserCtxt
-
- buffer[nbchars++] = '&';
- if (nbchars > buffer_size - i - XML_PARSER_BUFFER_SIZE) {
-- growBuffer(buffer, XML_PARSER_BUFFER_SIZE);
-+ growBuffer(buffer, i + XML_PARSER_BUFFER_SIZE);
- }
- for (;i > 0;i--)
- buffer[nbchars++] = *cur++;
-@@ -4949,7 +4948,8 @@ xmlParsePI(xmlParserCtxtPtr ctxt) {
- (ctxt->sax->processingInstruction != NULL))
- ctxt->sax->processingInstruction(ctxt->userData,
- target, NULL);
-- ctxt->instate = state;
-+ if (ctxt->instate != XML_PARSER_EOF)
-+ ctxt->instate = state;
- return;
- }
- buf = (xmlChar *) xmlMallocAtomic(size * sizeof(xmlChar));
-@@ -5029,7 +5029,8 @@ xmlParsePI(xmlParserCtxtPtr ctxt) {
- } else {
- xmlFatalErr(ctxt, XML_ERR_PI_NOT_STARTED, NULL);
- }
-- ctxt->instate = state;
-+ if (ctxt->instate != XML_PARSER_EOF)
-+ ctxt->instate = state;
- }
- }
-
-@@ -6992,6 +6993,7 @@ xmlParseReference(xmlParserCtxtPtr ctxt)
- ent->owner = 1;
- while (list != NULL) {
- list->parent = (xmlNodePtr) ent;
-+ xmlSetTreeDoc(list, ent->doc);
- if (list->next == NULL)
- ent->last = list;
- list = list->next;
-@@ -9588,6 +9590,8 @@ xmlParseElement(xmlParserCtxtPtr ctxt) {
- else
- name = xmlParseStartTag(ctxt);
- #endif /* LIBXML_SAX1_ENABLED */
-+ if (ctxt->instate == XML_PARSER_EOF)
-+ return;
- if (name == NULL) {
- spacePop(ctxt);
- return;
-@@ -10967,6 +10971,8 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctx
- else
- name = xmlParseStartTag(ctxt);
- #endif /* LIBXML_SAX1_ENABLED */
-+ if (ctxt->instate == XML_PARSER_EOF)
-+ goto done;
- if (name == NULL) {
- spacePop(ctxt);
- ctxt->instate = XML_PARSER_EOF;
-@@ -11153,7 +11159,9 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctx
- else
- xmlParseEndTag1(ctxt, 0);
- #endif /* LIBXML_SAX1_ENABLED */
-- if (ctxt->nameNr == 0) {
-+ if (ctxt->instate == XML_PARSER_EOF) {
-+ /* Nothing */
-+ } else if (ctxt->nameNr == 0) {
- ctxt->instate = XML_PARSER_EPILOG;
- } else {
- ctxt->instate = XML_PARSER_CONTENT;