author | John Beck <John.Beck@Oracle.COM> |
Thu, 27 Aug 2015 11:04:29 -0700 | |
changeset 4818 | 058cb786874f |
parent 4531 | 995e3322f49c |
permissions | -rw-r--r-- |
4531
995e3322f49c
20912879 problem in LIBRARY/LIBXML
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
1 |
Patch origin: upstream |
995e3322f49c
20912879 problem in LIBRARY/LIBXML
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
2 |
Patch status: will be part of next version |
995e3322f49c
20912879 problem in LIBRARY/LIBXML
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
3 |
|
995e3322f49c
20912879 problem in LIBRARY/LIBXML
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
4 |
From a7dfab7411cbf545f359dd3157e5df1eb0e7ce31 Mon Sep 17 00:00:00 2001 |
995e3322f49c
20912879 problem in LIBRARY/LIBXML
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
5 |
From: Daniel Veillard <[email protected]> |
995e3322f49c
20912879 problem in LIBRARY/LIBXML
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
6 |
Date: Mon, 23 Feb 2015 11:17:35 +0800 |
995e3322f49c
20912879 problem in LIBRARY/LIBXML
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
7 |
Subject: Stop parsing on entities boundaries errors |
995e3322f49c
20912879 problem in LIBRARY/LIBXML
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
8 |
|
995e3322f49c
20912879 problem in LIBRARY/LIBXML
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
9 |
For https://bugzilla.gnome.org/show_bug.cgi?id=744980 |
995e3322f49c
20912879 problem in LIBRARY/LIBXML
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
10 |
|
995e3322f49c
20912879 problem in LIBRARY/LIBXML
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
11 |
There are times, like on unterminated entities that it's preferable to |
995e3322f49c
20912879 problem in LIBRARY/LIBXML
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
12 |
stop parsing, even if that means less error reporting. Entities are |
995e3322f49c
20912879 problem in LIBRARY/LIBXML
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
13 |
feeding the parser on further processing, and if they are ill defined |
995e3322f49c
20912879 problem in LIBRARY/LIBXML
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
14 |
then it's possible to get the parser to bug. Also do the same on |
995e3322f49c
20912879 problem in LIBRARY/LIBXML
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
15 |
Conditional Sections if the input is broken, as the structure of |
995e3322f49c
20912879 problem in LIBRARY/LIBXML
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
16 |
the document can't be guessed. |
995e3322f49c
20912879 problem in LIBRARY/LIBXML
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
17 |
|
995e3322f49c
20912879 problem in LIBRARY/LIBXML
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
18 |
diff --git a/parser.c b/parser.c |
995e3322f49c
20912879 problem in LIBRARY/LIBXML
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
19 |
index a8d1b67..bbe97eb 100644 |
995e3322f49c
20912879 problem in LIBRARY/LIBXML
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
20 |
--- a/parser.c |
995e3322f49c
20912879 problem in LIBRARY/LIBXML
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
21 |
+++ b/parser.c |
995e3322f49c
20912879 problem in LIBRARY/LIBXML
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
22 |
@@ -5658,6 +5658,7 @@ xmlParseEntityDecl(xmlParserCtxtPtr ctxt) { |
995e3322f49c
20912879 problem in LIBRARY/LIBXML
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
23 |
if (RAW != '>') { |
995e3322f49c
20912879 problem in LIBRARY/LIBXML
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
24 |
xmlFatalErrMsgStr(ctxt, XML_ERR_ENTITY_NOT_FINISHED, |
995e3322f49c
20912879 problem in LIBRARY/LIBXML
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
25 |
"xmlParseEntityDecl: entity %s not terminated\n", name); |
995e3322f49c
20912879 problem in LIBRARY/LIBXML
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
26 |
+ xmlStopParser(ctxt); |
995e3322f49c
20912879 problem in LIBRARY/LIBXML
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
27 |
} else { |
995e3322f49c
20912879 problem in LIBRARY/LIBXML
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
28 |
if (input != ctxt->input) { |
995e3322f49c
20912879 problem in LIBRARY/LIBXML
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
29 |
xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_BOUNDARY, |
995e3322f49c
20912879 problem in LIBRARY/LIBXML
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
30 |
-- |
995e3322f49c
20912879 problem in LIBRARY/LIBXML
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
31 |
cgit v0.10.2 |
995e3322f49c
20912879 problem in LIBRARY/LIBXML
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
32 |