diff options
author | Daniel Veillard <veillard@redhat.com> | 2015-06-29 09:08:25 +0800 |
---|---|---|
committer | Daniel Veillard <veillard@redhat.com> | 2015-06-29 09:08:25 +0800 |
commit | 9aa37588ee78a06ca1379a9d9356eab16686099c (patch) | |
tree | caa350eeaabf371b9b2a366eb81d7652193446cc | |
parent | b02a167af3d2a47c155bce123820cbb5fa19dc9c (diff) | |
download | android_external_libxml2-9aa37588ee78a06ca1379a9d9356eab16686099c.tar.gz android_external_libxml2-9aa37588ee78a06ca1379a9d9356eab16686099c.tar.bz2 android_external_libxml2-9aa37588ee78a06ca1379a9d9356eab16686099c.zip |
Do not process encoding values if the declaration if broken
For https://bugzilla.gnome.org/show_bug.cgi?id=751603
If the string is not properly terminated do not try to convert
to the given encoding.
-rw-r--r-- | parser.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -10404,6 +10404,8 @@ xmlParseEncodingDecl(xmlParserCtxtPtr ctxt) { encoding = xmlParseEncName(ctxt); if (RAW != '"') { xmlFatalErr(ctxt, XML_ERR_STRING_NOT_CLOSED, NULL); + xmlFree((xmlChar *) encoding); + return(NULL); } else NEXT; } else if (RAW == '\''){ @@ -10411,6 +10413,8 @@ xmlParseEncodingDecl(xmlParserCtxtPtr ctxt) { encoding = xmlParseEncName(ctxt); if (RAW != '\'') { xmlFatalErr(ctxt, XML_ERR_STRING_NOT_CLOSED, NULL); + xmlFree((xmlChar *) encoding); + return(NULL); } else NEXT; } else { |