summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2009-03-09 10:58:50 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2009-03-09 10:58:50 +0000
commitfb097fc6e5e031c38cf9d81275559928064cd42e (patch)
treebe43dcec0391dfc30ab5e6c7208f64da92b3cb9c /src
parent6f65edee6a62cad9cae26371663100f6dba70048 (diff)
downloadlibhubbub-fb097fc6e5e031c38cf9d81275559928064cd42e.tar.gz
libhubbub-fb097fc6e5e031c38cf9d81275559928064cd42e.tar.bz2
Fix bug 2673645
<form><option>foo</option></form> => abort. svn path=/trunk/hubbub/; revision=6746
Diffstat (limited to 'src')
-rw-r--r--src/treebuilder/in_body.c7
1 files changed, 5 insertions, 2 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 */