diff options
author | alecpl <alec@alec.pl> | 2011-07-06 16:46:35 +0000 |
---|---|---|
committer | alecpl <alec@alec.pl> | 2011-07-06 16:46:35 +0000 |
commit | 632528ff4281fbceedb828969bd355f21106529c (patch) | |
tree | 1fd04a6171f5e22bbe2d55456e1f214398a10b14 /program | |
parent | 1a3c911d925ae0dd19c35c29f8f1a0c164015a69 (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.php | 4 |
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])); } |