ソースを参照

extra safetycheck before we process group addresses

stekkel 22 年 前
コミット
9287970385
1 ファイル変更12 行追加8 行削除
  1. 12 8
      functions/imap_general.php

+ 12 - 8
functions/imap_general.php

@@ -607,14 +607,18 @@ function parseAddress($address, $max=0, $addr_ar = array(), $group = '', $host='
                 break;
             case ':':  /* process the group addresses */
                 /* group marker */
-                $group = substr($address, 0, $pos);
-                $address = substr($address, $pos+1);
-                $result = parseAddress($address, $max, $addr_ar, $group);
-                $addr_ar = $result[0];
-                $pos = $result[1];
-                $address = substr($address, $pos++);
-                $j = strlen($address);
-                $group = '';
+		if (strpos($address,';',$pos)) {
+            	    $group = substr($address, 0, $pos);
+            	    $address = substr($address, $pos+1);
+            	    $result = parseAddress($address, $max, $addr_ar, $group);
+            	    $addr_ar = $result[0];
+            	    $pos = $result[1];
+            	    $address = substr($address, $pos++);
+            	    $j = strlen($address);
+            	    $group = '';
+		} else {
+		    $pos = $j;
+		}
                 break;
             default:
                 ++$pos;