diff options
author | Joey Hess <joey@gnu.kitenet.net> | 2009-06-05 16:14:51 -0400 |
---|---|---|
committer | Joey Hess <joey@gnu.kitenet.net> | 2009-06-05 16:14:51 -0400 |
commit | bd78168f71c078c481f6afca899796390133e09e (patch) | |
tree | d5f7471c0005e1978a34626ab3e779887c85de82 | |
parent | 763f4b91da9bb8701b3000a1290a1d5f22850551 (diff) |
Tighten up matching of bare words inside directives
Do not allow an unterminated """ string to be treated as a series of bare
words. Fixes runaway regexp recursion/backtracking in strange situations.
(See 1d57a21c987a5e970df01efe10acdf69982c2d61 for test case.)
-rw-r--r-- | IkiWiki.pm | 4 | ||||
-rw-r--r-- | debian/changelog | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/IkiWiki.pm b/IkiWiki.pm index 061a1c6db..d7c827c89 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -1253,7 +1253,7 @@ sub preprocess ($$$;$$) { | "[^"]+" # single-quoted value | - [^\s\]]+ # unquoted value + [^"\s\]]+ # unquoted value ) \s* # whitespace or end # of directive @@ -1276,7 +1276,7 @@ sub preprocess ($$$;$$) { | "[^"]+" # single-quoted value | - [^\s\]]+ # unquoted value + [^"\s\]]+ # unquoted value ) \s* # whitespace or end # of directive diff --git a/debian/changelog b/debian/changelog index be1db6f3c..bbc9b2c15 100644 --- a/debian/changelog +++ b/debian/changelog @@ -5,6 +5,10 @@ ikiwiki (3.15) UNRELEASED; urgency=low * Avoid relying on translators preserving the case when translating "discussion", which caused Discussion pages to get unwanted Discussion links. + * Tighten up matching of bare words inside directives; do not + allow an unterminated """ string to be treated as a series + of bare words. Fixes runaway regexp recursion/backtracking + in strange situations. -- Joey Hess <joeyh@debian.org> Tue, 02 Jun 2009 17:03:41 -0400 |