]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-mail: Fix message_part_data_is_plain_7bit()
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Mon, 30 Jan 2017 19:53:01 +0000 (21:53 +0200)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Mon, 30 Jan 2017 19:56:46 +0000 (21:56 +0200)
Content-Type parameters weren't handled exactly right.
Broken by recent changes.

src/lib-mail/message-part-data.c

index abd05cfea19fc148993744a6dff984cf769a1a5f..b0d8429a04506b136fc3666e9c0432d15d29a106 100644 (file)
@@ -39,10 +39,12 @@ bool message_part_data_is_plain_7bit(const struct message_part *part)
                return FALSE;
 
        /* only allowed parameter is charset=us-ascii, which is also default */
-       if (data->content_type_params_count > 0 &&
-           (strcasecmp(data->content_type_params[0].name, "charset") != 0 ||
-            strcasecmp(data->content_type_params[0].value,
-                               MESSAGE_PART_DEFAULT_CHARSET) != 0))
+       if (data->content_type_params_count == 0) {
+               /* charset defaults to us-ascii */
+       } else if (data->content_type_params_count != 1 ||
+                  strcasecmp(data->content_type_params[0].name, "charset") != 0 ||
+                  strcasecmp(data->content_type_params[0].value,
+                             MESSAGE_PART_DEFAULT_CHARSET) != 0)
                return FALSE;
 
        if (data->content_id != NULL ||