summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorthomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c>2007-09-11 10:03:50 +0000
committerthomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c>2007-09-11 10:03:50 +0000
commit7a1350505767cca86513b282cd2c37b5b3c3c2fb (patch)
tree14244692404299038340da138be376d944c6027c
parent25413fe6cbc2c3f248bea7e188e93777584beeb6 (diff)
Make parser more tolerant for message structure errors (reported by Manuel Giorgini)
git-svn-id: https://svn.roundcube.net/trunk@793 208e9e7b-5314-0410-a742-e7e81cd9613c
-rw-r--r--roundcubemail/program/lib/mime.inc6
1 files changed, 4 insertions, 2 deletions
diff --git a/roundcubemail/program/lib/mime.inc b/roundcubemail/program/lib/mime.inc
index 75c2d40d9..a25658692 100644
--- a/roundcubemail/program/lib/mime.inc
+++ b/roundcubemail/program/lib/mime.inc
@@ -56,8 +56,10 @@ function iml_ParseBSString($str){
for ($i=0; $i<$len; $i++){
if ($str[$i] == "\"") $in_quote = ($in_quote + 1) % 2;
else if (!$in_quote){
- if ($str[$i] == " ") $id++; //space means new element
- else if ($str[$i]=="("){ //new part
+ if ($str[$i] == " "){ //space means new element
+ $id++;
+ while ($str[$i+1] == " ") $i++; // skip additional spaces
+ } else if ($str[$i]=="("){ //new part
$i++;
$endPos = iml_ClosingParenPos($str, $i);
$partLen = $endPos - $i;