From 18639327fce6efbd0c8488bfa5423586e33a8768 Mon Sep 17 00:00:00 2001
From: Michael Morrison <mmorrison@pon4.net>
Date: Thu, 13 Feb 2014 15:38:35 +0000
Subject: [PATCH] Shift error checking into Mail_Parse::parseAddressList

---
 include/class.mailparse.php | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/include/class.mailparse.php b/include/class.mailparse.php
index 17da5f590..7a74d053f 100644
--- a/include/class.mailparse.php
+++ b/include/class.mailparse.php
@@ -397,12 +397,17 @@ class Mail_Parse {
 
     function parseAddressList($address){
         if (!$address)
-            return false;
+            return array();
+
         // Delivered-To may appear more than once in the email headers
         if (is_array($address))
             $address = implode(', ', $address);
 
-        return Mail_RFC822::parseAddressList($address, null, null,false);
+        $parsed = Mail_RFC822::parseAddressList($address, null, null,false);
+
+        if(PEAR::isError($parsed))
+            return array();
+        return $parsed;
     }
 
     function parse($rawemail) {
@@ -437,7 +442,7 @@ class EmailDataParser {
 
         $data =array();
         //FROM address: who sent the email.
-        if(($fromlist = $parser->getFromAddressList()) && !PEAR::isError($fromlist)) {
+        if(($fromlist = $parser->getFromAddressList())) {
             $from=$fromlist[0]; //Default.
             foreach($fromlist as $fromobj) {
                 if(!Validator::is_email($fromobj->mailbox.'@'.$fromobj->host)) continue;
@@ -493,7 +498,7 @@ class EmailDataParser {
         $data['priorityId'] = $parser->getPriority();
         $data['emailId'] = $emailId;
 
-        if (($replyto = $parser->getReplyTo()) && !PEAR::isError($replyto)) {
+        if (($replyto = $parser->getReplyTo())) {
             $replyto = $replyto[0];
             $data['reply-to'] = $replyto->mailbox.'@'.$replyto->host;
             if ($replyto->personal)
-- 
GitLab