aboutsummaryrefslogtreecommitdiffstats
path: root/parser.c
diff options
context:
space:
mode:
authorDaniel Veillard <veillard@redhat.com>2014-10-08 16:09:56 +0800
committerDaniel Veillard <veillard@redhat.com>2014-10-08 16:09:56 +0800
commit7cf57380b11d20b0bd4c86a493db7a0e1d0f0071 (patch)
tree22a3212f9f999bdf7546a36c16b61d2e29fe0c64 /parser.c
parent7dc24965092d7cc310908d6052913050e88ec072 (diff)
downloadandroid_external_libxml2-7cf57380b11d20b0bd4c86a493db7a0e1d0f0071.tar.gz
android_external_libxml2-7cf57380b11d20b0bd4c86a493db7a0e1d0f0071.tar.bz2
android_external_libxml2-7cf57380b11d20b0bd4c86a493db7a0e1d0f0071.zip
Parser error on repeated recursive entity expansion containing &lt;
For https://bugzilla.gnome.org/show_bug.cgi?id=736417 basically a weird side effect and a failure to properly parenthesize a boolean expression led to this bug
Diffstat (limited to 'parser.c')
-rw-r--r--parser.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/parser.c b/parser.c
index 2ef2c3b6..b9a37ab4 100644
--- a/parser.c
+++ b/parser.c
@@ -7684,8 +7684,8 @@ xmlParseEntityRef(xmlParserCtxtPtr ctxt) {
else if ((ctxt->instate == XML_PARSER_ATTRIBUTE_VALUE) &&
(ent != NULL) &&
(ent->etype != XML_INTERNAL_PREDEFINED_ENTITY)) {
- if ((ent->checked & 1) || ((ent->checked == 0) &&
- (ent->content != NULL) &&(xmlStrchr(ent->content, '<')))) {
+ if (((ent->checked & 1) || (ent->checked == 0)) &&
+ (ent->content != NULL) && (xmlStrchr(ent->content, '<'))) {
xmlFatalErrMsgStr(ctxt, XML_ERR_LT_IN_ATTRIBUTE,
"'<' in entity '%s' is not allowed in attributes values\n", name);
}