diff options
Diffstat (limited to 'plugins')
| -rw-r--r-- | plugins/managesieve/Changelog | 1 | ||||
| -rw-r--r-- | plugins/managesieve/lib/rcube_sieve_script.php | 4 |
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; } |
