summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2011-07-06 16:46:35 +0000
committeralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2011-07-06 16:46:35 +0000
commitbc395f96d37bf50bfe22745afae3976876026369 (patch)
tree3e982da0568769015f5e85712b42348f6a6bed1e
parente7260b5f6658cdb9496a69f448ae2235aaaf4be3 (diff)
- Fix infinite loop in tokenizeResponse() when server returns atoms with forbidden characters
git-svn-id: https://svn.roundcube.net/trunk@4914 208e9e7b-5314-0410-a742-e7e81cd9613c
-rw-r--r--roundcubemail/program/include/rcube_imap_generic.php4
1 files changed, 2 insertions, 2 deletions
diff --git a/roundcubemail/program/include/rcube_imap_generic.php b/roundcubemail/program/include/rcube_imap_generic.php
index a30fbc0fd..e3c987cd3 100644
--- a/roundcubemail/program/include/rcube_imap_generic.php
+++ b/roundcubemail/program/include/rcube_imap_generic.php
@@ -3237,8 +3237,8 @@ class rcube_imap_generic
break;
}
- // excluded chars: SP, CTL, (, ), {, ", ], %
- if (preg_match('/^([\x21\x23\x24\x26\x27\x2A-\x5C\x5E-\x7A\x7C-\x7E]+)/', $str, $m)) {
+ // excluded chars: SP, CTL, )
+ if (preg_match('/^([^\x00-\x20\x29\x7F]+)/', $str, $m)) {
$result[] = $m[1] == 'NIL' ? NULL : $m[1];
$str = substr($str, strlen($m[1]));
}