diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2009-03-09 10:58:50 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2009-03-09 10:58:50 +0000 |
commit | fb097fc6e5e031c38cf9d81275559928064cd42e (patch) | |
tree | be43dcec0391dfc30ab5e6c7208f64da92b3cb9c /src/treebuilder | |
parent | 6f65edee6a62cad9cae26371663100f6dba70048 (diff) | |
download | libhubbub-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/treebuilder')
-rw-r--r-- | src/treebuilder/in_body.c | 7 |
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 */ |