summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/managesieve/Changelog1
-rw-r--r--plugins/managesieve/lib/rcube_sieve_script.php4
2 files changed, 5 insertions, 0 deletions
diff --git a/plugins/managesieve/Changelog b/plugins/managesieve/Changelog
index 052333a81..dc0e19591 100644
--- a/plugins/managesieve/Changelog
+++ b/plugins/managesieve/Changelog
@@ -1,4 +1,5 @@
- Fixed filter popup width (for non-english localizations)
+- Fixed tokenizer infinite loop on invalid script content
* version 5.0 [2012-01-05]
-----------------------------------------------------------
diff --git a/plugins/managesieve/lib/rcube_sieve_script.php b/plugins/managesieve/lib/rcube_sieve_script.php
index f5ad62c3f..92f979cfd 100644
--- a/plugins/managesieve/lib/rcube_sieve_script.php
+++ b/plugins/managesieve/lib/rcube_sieve_script.php
@@ -1058,6 +1058,10 @@ class rcube_sieve_script
$result[] = $text;
}
}
+ // fallback, skip one character as infinite loop prevention
+ else {
+ $str = substr($str, 1);
+ }
break;
}