diff options
author | Ken Grigsby <grigsby@thursby.com> | 2013-06-20 11:10:34 -0500 |
---|---|---|
committer | Ken Grigsby <grigsby@thursby.com> | 2013-06-20 11:10:34 -0500 |
commit | 00129b3b39ff076f3925d550dff3580e4854a43f (patch) | |
tree | 9b86533385786144c1c06a994ffa2a7d75d8980e | |
parent | 29372a8a47c438fc433f58f3b83ce2fa11768d59 (diff) |
Fix crash in recipientWithReplyAll when mCc is NULL
-rw-r--r-- | src/core/abstract/MCMessageHeader.cc | 44 |
1 files changed, 24 insertions, 20 deletions
diff --git a/src/core/abstract/MCMessageHeader.cc b/src/core/abstract/MCMessageHeader.cc index e0476743..3a2a5872 100644 --- a/src/core/abstract/MCMessageHeader.cc +++ b/src/core/abstract/MCMessageHeader.cc @@ -1153,26 +1153,30 @@ Array * MessageHeader::recipientWithReplyAll(bool replyAll, bool includeTo, bool Array * recipient; recipient = new Array(); - for(unsigned int i = 0 ; i < to()->count() ; i ++) { - Address * address = (Address *) to()->objectAtIndex(i); - if (addedAddresses->containsObject(address->mailbox()->lowercaseString())) { - continue; - } - if (address->mailbox() == NULL) - continue; - recipient->addObject(address); - addedAddresses->addObject(address->mailbox()->lowercaseString()); - } - for(unsigned int i = 0 ; i < cc()->count() ; i ++) { - Address * address = (Address *) cc()->objectAtIndex(i); - if (addedAddresses->containsObject(address->mailbox()->lowercaseString())) { - continue; - } - if (address->mailbox() == NULL) - continue; - recipient->addObject(address); - addedAddresses->addObject(address->mailbox()->lowercaseString()); - } + if (to() != NULL) { + for(unsigned int i = 0 ; i < to()->count() ; i ++) { + Address * address = (Address *) to()->objectAtIndex(i); + if (addedAddresses->containsObject(address->mailbox()->lowercaseString())) { + continue; + } + if (address->mailbox() == NULL) + continue; + recipient->addObject(address); + addedAddresses->addObject(address->mailbox()->lowercaseString()); + } + } + if (cc() != NULL) { + for(unsigned int i = 0 ; i < cc()->count() ; i ++) { + Address * address = (Address *) cc()->objectAtIndex(i); + if (addedAddresses->containsObject(address->mailbox()->lowercaseString())) { + continue; + } + if (address->mailbox() == NULL) + continue; + recipient->addObject(address); + addedAddresses->addObject(address->mailbox()->lowercaseString()); + } + } if (recipient->count() > 0) { hasCc = true; } |