From 3263ad2760fa0b6f65eb669ecd2f986d977ba4f1 Mon Sep 17 00:00:00 2001 From: Vincent Richard Date: Thu, 14 Dec 2006 21:38:04 +0000 Subject: [PATCH] Fixed attachment detection with non-MIME message (thanks to Peter Libic). --- src/attachmentHelper.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/attachmentHelper.cpp b/src/attachmentHelper.cpp index da95513c..4f685cec 100644 --- a/src/attachmentHelper.cpp +++ b/src/attachmentHelper.cpp @@ -72,6 +72,12 @@ const bool attachmentHelper::isBodyPartAnAttachment(ref part) } catch (exceptions::no_such_field&) { + // If this is the root part and no Content-Type field is present, + // then this may not be a MIME message, so do not assume it is + // an attachment + if (part->getParentPart() == NULL) + return false; + // No "Content-type" field: assume "application/octet-stream". type = mediaType(mediaTypes::APPLICATION, mediaTypes::APPLICATION_OCTET_STREAM); @@ -157,7 +163,7 @@ const std::vector > std::vector > partAtts = findAttachmentsInBodyPart(bdy->getPartAt(i)); - std::copy(partAtts.begin(), partAtts.end(), std::back_inserter(atts)); + std::copy(partAtts.begin(), partAtts.end(), std::back_inserter(atts)); } }