X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fsrc%2Frfc2047.c;h=f7085007a8df5ecf10b7fde81b4c8b86bc9124fd;hb=2b2cfa838f206b5d97a120722861f42780bc6a6a;hp=8d77634c66146f615e9698d953292ca510e1d87b;hpb=f9ba5e2255cf18092750fffacb6a9603571a2be5;p=user%2Fhenk%2Fcode%2Fexim.git diff --git a/src/src/rfc2047.c b/src/src/rfc2047.c index 8d77634c6..f7085007a 100644 --- a/src/src/rfc2047.c +++ b/src/src/rfc2047.c @@ -46,7 +46,7 @@ rfc2047_qpdecode(uschar *string, uschar **ptrptr) int len = 0; uschar *ptr; -ptr = *ptrptr = store_get(Ustrlen(string) + 1); /* No longer than this */ +ptr = *ptrptr = store_get(Ustrlen(string) + 1, is_tainted(string)); /* No longer than this */ while (*string != 0) { @@ -208,7 +208,7 @@ building the result as we go. The result may be longer than the input if it is translated into a multibyte code such as UTF-8. That's why we use the dynamic string building code. */ -yield = store_get(sizeof(gstring) + ++size); +yield = store_get(sizeof(gstring) + ++size, is_tainted(string)); yield->size = size; yield->ptr = 0; yield->s = US(yield + 1); @@ -222,6 +222,7 @@ while (mimeword) if (mimeword != string) yield = string_catn(yield, string, mimeword - string); +/*XXX that might have to convert an untainted string to a tainted one */ /* Do a charset translation if required. This is supported only on hosts that have the iconv() function. Translation errors set error, but carry on, @@ -300,11 +301,8 @@ while (mimeword) /* Deal with zero values; convert them if requested. */ if (zeroval != 0) - { - int i; - for (i = 0; i < tlen; i++) + for (int i = 0; i < tlen; i++) if (tptr[i] == 0) tptr[i] = zeroval; - } /* Add the new string onto the result */