浏览代码

extra safety check before we process groups

stekkel 22 年之前
父节点
当前提交
33d86250f9
共有 1 个文件被更改,包括 12 次插入8 次删除
  1. 12 8
      class/mime/Rfc822Header.class.php

+ 12 - 8
class/mime/Rfc822Header.class.php

@@ -389,14 +389,18 @@ class Rfc822Header {
                 break;
             case ':':  /* process the group addresses */
                 /* group marker */
-                $group = substr($address, 0, $pos);
-                $address = substr($address, $pos+1);
-                $result = $this->parseAddress($address, $ar, $addr_ar, $group, $lookup);
-                $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 = $this->parseAddress($address, $ar, $addr_ar, $group, $lookup);
+            	    $addr_ar = $result[0];
+            	    $pos = $result[1];
+            	    $address = substr($address, $pos++);
+            	    $j = strlen($address);
+            	    $group = '';
+		} else {
+		    $pos = $j;
+		}
                 break;
             case ' ':
                 ++$pos;