X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=sbr%2Ffmt_rfc2047.c;h=414513985a1a3d7a8d2ac7de4454bbee62dd9ef2;hp=4e8231fc417327ad5e9f72449da12c7d2aab69fb;hb=57251c0435c8b994c85baf68099ac0e60436444a;hpb=8d77b48284c58c135a6b2787e721597346ab056d diff --git a/sbr/fmt_rfc2047.c b/sbr/fmt_rfc2047.c index 4e8231f..4145139 100644 --- a/sbr/fmt_rfc2047.c +++ b/sbr/fmt_rfc2047.c @@ -209,7 +209,7 @@ decode_rfc2047(char *str, char *dst, size_t dstlen) if (use_iconv) { saveq = q; savedstlen = dstlen; - q = convbuf = (char *) mh_xmalloc(endofmime - startofmime); + q = convbuf = mh_xcalloc(endofmime - startofmime, sizeof(char)); } /* ** ADDCHR2 is for adding characters when q is or might be convbuf: @@ -246,14 +246,16 @@ decode_rfc2047(char *str, char *dst, size_t dstlen) while (pp < endofmime) { /* 6 + 2 bits */ while ((pp < endofmime) && - ((c1 = char64(*pp)) == -1)) { + ((c1 = char64(*pp)) + == -1)) { pp++; } if (pp < endofmime) { pp++; } while ((pp < endofmime) && - ((c2 = char64(*pp)) == -1)) { + ((c2 = char64(*pp)) + == -1)) { pp++; } if (pp < endofmime && c1 != -1 && c2 != -1) { @@ -262,7 +264,8 @@ decode_rfc2047(char *str, char *dst, size_t dstlen) } /* 4 + 4 bits */ while ((pp < endofmime) && - ((c3 = char64(*pp)) == -1)) { + ((c3 = char64(*pp)) + == -1)) { pp++; } if (pp < endofmime && c2 != -1 && c3 != -1) { @@ -271,7 +274,8 @@ decode_rfc2047(char *str, char *dst, size_t dstlen) } /* 2 + 6 bits */ while ((pp < endofmime) && - ((c4 = char64(*pp)) == -1)) { + ((c4 = char64(*pp)) + == -1)) { pp++; } if (pp < endofmime && c3 != -1 && c4 != -1) { @@ -333,7 +337,7 @@ decode_rfc2047(char *str, char *dst, size_t dstlen) if (!dstlen || !savedstlen) goto buffull; dstlen = savedstlen; - free(convbuf); + mh_free0(&convbuf); } #endif