Browse Source

extra safetycheck before we process group addresses

stekkel 22 years ago
parent
commit
9287970385
1 changed files with 12 additions and 8 deletions
  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;
                 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 = 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;
                 break;
             default:
             default:
                 ++$pos;
                 ++$pos;