summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Hess <joey@gnu.kitenet.net>2009-06-05 16:14:51 -0400
committerJoey Hess <joey@gnu.kitenet.net>2009-06-05 16:14:51 -0400
commitbd78168f71c078c481f6afca899796390133e09e (patch)
treed5f7471c0005e1978a34626ab3e779887c85de82
parent763f4b91da9bb8701b3000a1290a1d5f22850551 (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.pm4
-rw-r--r--debian/changelog4
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