Bug 1525120 - Fix condition for decoding attachments (base64/qp) when saving or forwarding.

Tag #1273
This commit is contained in:
Matt A. Tobin 2019-11-10 23:51:05 -05:00 committed by Roy Tam
commit 84617f965f

View file

@ -96,15 +96,14 @@ MimeLeaf_parse_begin (MimeObject *obj)
// don't decode text parts of message types. Other output formats,
// like "display" (nsMimeMessageBodyDisplay), need decoding.
(obj->options->format_out == nsMimeOutput::nsMimeMessageRaw &&
obj->parent &&
obj->parent && obj->parent->output_p &&
(!PL_strcasecmp(obj->parent->content_type, MESSAGE_NEWS) ||
!PL_strcasecmp(obj->parent->content_type, MESSAGE_RFC822)) &&
!PL_strncasecmp(obj->content_type, "text/", 5)))
!PL_strcasecmp(obj->parent->content_type, MESSAGE_RFC822))))
/* no-op */ ;
else if (!PL_strcasecmp(obj->encoding, ENCODING_BASE64))
fn = &MimeB64DecoderInit;
else if (!PL_strcasecmp(obj->encoding, ENCODING_QUOTED_PRINTABLE))
leaf->decoder_data =
leaf->decoder_data =
MimeQPDecoderInit(((MimeConverterOutputCallback)
((MimeLeafClass *)obj->clazz)->parse_decoded_buffer),
obj, obj);
@ -153,7 +152,7 @@ MimeLeaf_parse_buffer (const char *buffer, int32_t size, MimeObject *obj)
leaf->sizeSoFar = 0;
if (leaf->decoder_data &&
obj->options &&
obj->options &&
obj->options->format_out != nsMimeOutput::nsMimeMessageDecrypt
&& obj->options->format_out != nsMimeOutput::nsMimeMessageAttach) {
int outSize = 0;