X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fsrc%2Fmime.c;h=e0ac66cbe9f666969aa00b44708501474eb0353b;hb=a0d6ba8acc09196843fdea4132bb0814b2e81132;hp=548a16de7039d3ce68ff5ff9378279d7e7b14592;hpb=b07e6aa3aa6749ab57c214efd155bb29614394eb;p=exim.git diff --git a/src/src/mime.c b/src/src/mime.c index 548a16de7..e0ac66cbe 100644 --- a/src/src/mime.c +++ b/src/src/mime.c @@ -1,4 +1,4 @@ -/* $Cambridge: exim/src/src/mime.c,v 1.10 2005/08/01 14:41:25 ph10 Exp $ */ +/* $Cambridge: exim/src/src/mime.c,v 1.13 2005/11/15 10:08:25 ph10 Exp $ */ /************************************************* * Exim - an Internet mail transport agent * @@ -159,7 +159,6 @@ uschar *mime_parse_line(uschar *buffer, uschar *data, uschar *encoding, int *num /* byte 0 ---------------------- */ if (*(p+1) == 255) { - mime_set_anomaly(MIME_ANOMALY_BROKEN_BASE64); break; } data[(*num_decoded)] = *p; @@ -171,7 +170,6 @@ uschar *mime_parse_line(uschar *buffer, uschar *data, uschar *encoding, int *num p++; /* byte 1 ---------------------- */ if (*(p+1) == 255) { - mime_set_anomaly(MIME_ANOMALY_BROKEN_BASE64); break; } data[(*num_decoded)] = *p; @@ -183,7 +181,6 @@ uschar *mime_parse_line(uschar *buffer, uschar *data, uschar *encoding, int *num p++; /* byte 2 ---------------------- */ if (*(p+1) == 255) { - mime_set_anomaly(MIME_ANOMALY_BROKEN_BASE64); break; } data[(*num_decoded)] = *p; @@ -487,7 +484,7 @@ int mime_get_header(FILE *f, uschar *header) { }; }; - if (header[num_copied-1] != ';') { + if ((num_copied > 0) && (header[num_copied-1] != ';')) { header[num_copied-1] = ';'; }; @@ -622,7 +619,7 @@ int mime_acl_check(uschar *acl, FILE *f, struct mime_boundary_context *context, memset(param_value,0,param_value_len+1); q = p + mime_parameter_list[j].namelen; Ustrncpy(param_value, q, param_value_len); - param_value = rfc2047_decode(param_value, TRUE, NULL, 32, ¶m_value_len, &q); + 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", mime_parameter_list[j].name, mime_header_list[i].name, param_value); *((uschar **)(mime_parameter_list[j].value)) = param_value; p += (mime_parameter_list[j].namelen + param_value_len + 1);