aboutsummaryrefslogtreecommitdiffstats
path: root/valid.c
diff options
context:
space:
mode:
authorDaniel Veillard <veillard@src.gnome.org>2001-10-18 14:57:24 +0000
committerDaniel Veillard <veillard@src.gnome.org>2001-10-18 14:57:24 +0000
commitce2c2f09973022cf064a65d5045c71b558ad2c43 (patch)
tree24079eba86e945f605f49577e2cea7b5c25c8565 /valid.c
parent3c01b1d81b696fe8624b6d7e26ec0ebffcc7c06b (diff)
downloadandroid_external_libxml2-ce2c2f09973022cf064a65d5045c71b558ad2c43.tar.gz
android_external_libxml2-ce2c2f09973022cf064a65d5045c71b558ad2c43.tar.bz2
android_external_libxml2-ce2c2f09973022cf064a65d5045c71b558ad2c43.zip
fixed a very serious (looping) validation bug Daniel
* parser.c valid.c result/valid/rss.xml result/valid/rss.xml.err: fixed a very serious (looping) validation bug Daniel
Diffstat (limited to 'valid.c')
-rw-r--r--valid.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/valid.c b/valid.c
index a8b4b4cc..c894ff68 100644
--- a/valid.c
+++ b/valid.c
@@ -199,6 +199,11 @@ xmlValidPrintNode(xmlNodePtr cur) {
case XML_HTML_DOCUMENT_NODE:
xmlGenericError(xmlGenericErrorContext, "?html? ");
break;
+#ifdef LIBXML_DOCB_ENABLED
+ case XML_DOCB_DOCUMENT_NODE:
+ xmlGenericError(xmlGenericErrorContext, "?docb? ");
+ break;
+#endif
case XML_DTD_NODE:
xmlGenericError(xmlGenericErrorContext, "?dtd? ");
break;
@@ -3395,6 +3400,8 @@ cont:
* of handling epsilon transition in NFAs.
*/
if ((CONT != NULL) &&
+ ((CONT->parent == NULL) ||
+ (CONT->parent->type != XML_ELEMENT_CONTENT_OR)) &&
((CONT->ocur == XML_ELEMENT_CONTENT_MULT) ||
(CONT->ocur == XML_ELEMENT_CONTENT_OPT) ||
((CONT->ocur == XML_ELEMENT_CONTENT_PLUS) && (OCCURENCE)))) {
@@ -3600,7 +3607,7 @@ analyze:
break;
}
DEBUG_VALID_MSG("Mult branch succeeded, continuing");
- SET_OCCURENCE;
+ /* SET_OCCURENCE; */
goto cont;
}
}