summaryrefslogtreecommitdiff
path: root/plugins/managesieve
diff options
context:
space:
mode:
authoralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2012-03-15 19:45:36 +0000
committeralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2012-03-15 19:45:36 +0000
commit653a2254dcfba00926b7fa3966a0ec4ce653f520 (patch)
tree90d0630136d921bae7363b2f6105ca6480942f9e /plugins/managesieve
parentd32ed7eee5fd3165b52f6cb0604b8f42b806d482 (diff)
- Fixed tokenizer infinite loop on invalid script content
git-svn-id: https://svn.roundcube.net/trunk@6014 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'plugins/managesieve')
-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;
}