summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/treebuilder/in_body.c7
-rw-r--r--test/data/html/INDEX2
2 files changed, 6 insertions, 3 deletions
diff --git a/src/treebuilder/in_body.c b/src/treebuilder/in_body.c
index 257dcaf..698a485 100644
--- a/src/treebuilder/in_body.c
+++ b/src/treebuilder/in_body.c
@@ -1950,7 +1950,7 @@ void process_0generic_in_body(hubbub_treebuilder *treebuilder,
close_implied_end_tags(treebuilder, UNKNOWN);
- do {
+ while (treebuilder->context.current_node >= node) {
hubbub_ns ns;
void *node;
@@ -1964,7 +1964,10 @@ void process_0generic_in_body(hubbub_treebuilder *treebuilder,
node);
popped++;
- } while (otype != type);
+
+ if (otype == type)
+ break;
+ }
if (popped > 1) {
/** \todo parse error */
diff --git a/test/data/html/INDEX b/test/data/html/INDEX
index 8021e29..76f9a2e 100644
--- a/test/data/html/INDEX
+++ b/test/data/html/INDEX
@@ -19,4 +19,4 @@ ccr.coriell.org.html Segfault page (fixed in r5106).
wbh.co.uk.html Segfault in treebuilder (fixed in r5125).
www.directline.com.html Segfault in current_node()
www.hanazonohifuku.com.html Abort in token emitter (fixed in r5146).
-DocumentIndex.jsp Abort in element pop (no nodes in stack)
+DocumentIndex.jsp Abort in generic end tag handling (fixed in r6746).