diff options
author | Daniel Veillard <veillard@redhat.com> | 2015-02-23 11:17:35 +0800 |
---|---|---|
committer | Daniel Veillard <veillard@redhat.com> | 2015-02-23 11:17:35 +0800 |
commit | a7dfab7411cbf545f359dd3157e5df1eb0e7ce31 (patch) | |
tree | cbd1c98784fb82c867e8d486164d66832e645d33 | |
parent | fb8e9e212fcad1b48638fb6fa27104e1d0c8853b (diff) | |
download | libxml2-a7dfab7411cbf545f359dd3157e5df1eb0e7ce31.tar.gz |
Stop parsing on entities boundaries errorsCVE-2015-7941_1
For https://bugzilla.gnome.org/show_bug.cgi?id=744980
There are times, like on unterminated entities that it's preferable to
stop parsing, even if that means less error reporting. Entities are
feeding the parser on further processing, and if they are ill defined
then it's possible to get the parser to bug. Also do the same on
Conditional Sections if the input is broken, as the structure of
the document can't be guessed.
-rw-r--r-- | parser.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -5658,6 +5658,7 @@ xmlParseEntityDecl(xmlParserCtxtPtr ctxt) { if (RAW != '>') { xmlFatalErrMsgStr(ctxt, XML_ERR_ENTITY_NOT_FINISHED, "xmlParseEntityDecl: entity %s not terminated\n", name); + xmlStopParser(ctxt); } else { if (input != ctxt->input) { xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_BOUNDARY, |