aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/security
diff options
context:
space:
mode:
authorGravatar Hoa V. DINH <dinh.viet.hoa@gmail.com>2013-07-29 08:46:32 -0700
committerGravatar Hoa V. DINH <dinh.viet.hoa@gmail.com>2013-07-29 08:46:32 -0700
commit503f08d50ef4c5e83f2b4380a4f3b5442d5f2590 (patch)
tree27adf24801adf36b488601fcaedbad7f2e305c0f /src/core/security
parent06a96d46b1d88067dd1c7393d4776e0732ce4bcb (diff)
Workaround certificate issue
Diffstat (limited to 'src/core/security')
-rw-r--r--src/core/security/MCCertificateUtils.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/core/security/MCCertificateUtils.cc b/src/core/security/MCCertificateUtils.cc
index f8f25f70..3c3e67a1 100644
--- a/src/core/security/MCCertificateUtils.cc
+++ b/src/core/security/MCCertificateUtils.cc
@@ -28,6 +28,11 @@ bool mailcore::checkCertificate(mailstream * stream, String * hostname)
certificates = CFArrayCreateMutable(NULL, 0, &kCFTypeArrayCallBacks);
carray * cCerts = mailstream_get_certificate_chain(stream);
+ if (cCerts == NULL) {
+ // No certificates has been returned.
+ // TODO: Should investigate why it happens with CFNetwork.
+ return true;
+ }
for(unsigned int i = 0 ; i < carray_count(cCerts) ; i ++) {
MMAPString * str;
str = (MMAPString *) carray_get(cCerts, i);