X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fsrc%2Fmime.c;h=5dcbaa40f9005d89f123caf42bd503bbb859d6a8;hb=8b4556856d2434c8006df5011d4855c07a7ba2b8;hp=45cec29a5e72151c12c63b9dd5e06cb9abd17258;hpb=9242a7e8cfa94bbc9dd7eca6bd651b569b871c4e;p=user%2Fhenk%2Fcode%2Fexim.git diff --git a/src/src/mime.c b/src/src/mime.c index 45cec29a5..5dcbaa40f 100644 --- a/src/src/mime.c +++ b/src/src/mime.c @@ -2,9 +2,9 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) Tom Kistner 2004, 2015 +/* Copyright (c) Tom Kistner 2004 - 2015 * License: GPL - * Copyright (c) The Exim Maintainers 2017 + * Copyright (c) The Exim Maintainers 2015 - 2018 */ #include "exim.h" @@ -338,17 +338,16 @@ while(!done) if ( ((c == '\t') || (c == ' ')) && (header_value_mode == 1) ) continue; - /* we have hit a non-whitespace char, start copying value data */ - header_value_mode = 2; + /* we have hit a non-whitespace char, start copying value data */ + header_value_mode = 2; - if (c == '"') /* flip "quoted" mode */ - header_value_mode = header_value_mode==2 ? 3 : 2; + if (c == '"') /* flip "quoted" mode */ + header_value_mode = header_value_mode==2 ? 3 : 2; - /* leave value mode on unquoted ';' */ - if (header_value_mode == 2 && c == ';') { - header_value_mode = 0; - }; - /* -------------------------------- */ + /* leave value mode on unquoted ';' */ + if (header_value_mode == 2 && c == ';') + header_value_mode = 0; + /* -------------------------------- */ } else { @@ -490,6 +489,7 @@ while ((c = *fname)) val = string_catn(val, fname++, 1); val = string_catn(val, US"?=", 2); +*len = val->ptr; return string_from_gstring(val); } @@ -646,9 +646,7 @@ while(1) NULL, &err_msg); DEBUG(D_acl) debug_printf_indent("MIME: plain-name %s\n", temp_string); - size = Ustrlen(temp_string); - - if (size == slen) + if (!temp_string || (size = Ustrlen(temp_string)) == slen) decoding_failed = TRUE; else /* build up a decoded filename over successive