X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fsrc%2Fmime.c;h=ab701f2a682e59f0adeeefb24e4e9344b9c792fd;hb=13b449c67ca264de99ac5e01b77a8324672f8e07;hp=95d3da4723cf5de2115014dfebb73ae728639ac0;hpb=eb4d1c0be04d768afe4947f75724a130b2bd2256;p=exim.git diff --git a/src/src/mime.c b/src/src/mime.c index 95d3da472..ab701f2a6 100644 --- a/src/src/mime.c +++ b/src/src/mime.c @@ -620,12 +620,18 @@ NEXT_PARAM_SEARCH: else param_value = string_cat(param_value, &size, &ptr, q++, 1); } - param_value[ptr++] = '\0'; - param_value_len = ptr; - - param_value = rfc2047_decode(param_value, check_rfc2047_length, NULL, 32, ¶m_value_len, &q); - debug_printf("Found %s MIME parameter in %s header, value is '%s'\n", mp->name, mime_header_list[i].name, param_value); - *((uschar **)(mp->value)) = param_value; + if (param_value) + { + param_value[ptr++] = '\0'; + param_value_len = ptr; + + param_value = rfc2047_decode(param_value, + check_rfc2047_length, NULL, 32, ¶m_value_len, &q); + debug_printf("Found %s MIME parameter in %s header, " + "value is '%s'\n", mp->name, mime_header_list[i].name, + param_value); + } + *mp->value = param_value; p += (mp->namelen + param_value_len + 1); goto NEXT_PARAM_SEARCH; }