Browse Source

extra safety check before we process groups

stekkel 22 years ago
parent
commit
33d86250f9
1 changed files with 12 additions and 8 deletions
  1. 12 8
      class/mime/Rfc822Header.class.php

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

@@ -389,14 +389,18 @@ class Rfc822Header {
                 break;
                 break;
             case ':':  /* process the group addresses */
             case ':':  /* process the group addresses */
                 /* group marker */
                 /* 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;
                 break;
             case ' ':
             case ' ':
                 ++$pos;
                 ++$pos;