summaryrefslogtreecommitdiff
path: root/program
diff options
context:
space:
mode:
authoralecpl <alec@alec.pl>2011-07-06 16:46:35 +0000
committeralecpl <alec@alec.pl>2011-07-06 16:46:35 +0000
commit632528ff4281fbceedb828969bd355f21106529c (patch)
tree1fd04a6171f5e22bbe2d55456e1f214398a10b14 /program
parent1a3c911d925ae0dd19c35c29f8f1a0c164015a69 (diff)
- Fix infinite loop in tokenizeResponse() when server returns atoms with forbidden characters
Diffstat (limited to 'program')
-rw-r--r--program/include/rcube_imap_generic.php4
1 files changed, 2 insertions, 2 deletions
diff --git a/program/include/rcube_imap_generic.php b/program/include/rcube_imap_generic.php
index a30fbc0fd..e3c987cd3 100644
--- a/program/include/rcube_imap_generic.php
+++ b/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]));
}