rfc2047: blaze822_decode_rfc2047: check for NUL bytes at the very end of decoding

pull/79/head
Leah Neukirchen 7 years ago
parent ba4a0cf589
commit 4fef01ab6d

@ -130,6 +130,9 @@ blaze822_decode_rfc2047(char *dst, char *src, size_t dlen, char *tgtenc)
iconv_t ic = (iconv_t)-1; iconv_t ic = (iconv_t)-1;
char *srcenc = 0; char *srcenc = 0;
char *startdst = dst;
size_t startdlen = dlen;
char *b = src; char *b = src;
// XXX use memmem // XXX use memmem
@ -233,9 +236,6 @@ blaze822_decode_rfc2047(char *dst, char *src, size_t dlen, char *tgtenc)
} }
} }
if (memchr(dst, 0, dlen))
goto nocode;
while (!partial && declen && dlen) { while (!partial && declen && dlen) {
*dst++ = *dec++; *dst++ = *dec++;
declen--; declen--;
@ -252,6 +252,12 @@ blaze822_decode_rfc2047(char *dst, char *src, size_t dlen, char *tgtenc)
dlen--; dlen--;
} }
if (memchr(startdst, 0, dst - startdst)) {
dst = startdst;
dlen = startdlen;
goto nocodeok;
}
*dst = 0; *dst = 0;
if (ic != (iconv_t)-1) if (ic != (iconv_t)-1)

Loading…
Cancel
Save