Skip to content

Commit d205701

Browse files
authored
Merge pull request #46 from bshannon/issue_34
Be sure to null terminate copied charset string - fixes #34
2 parents 653e08d + 9472911 commit d205701

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/parse.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -918,6 +918,7 @@ static char *mdecodeRFC2047(char *string, int length, char *charsetsave)
918918
else if (!strcasecmp("b", encoding)) {
919919
/* base64 decoding */
920920
int len;
921+
size_t charsetlen;
921922
#ifdef HAVE_ICONV
922923
size_t tmplen;
923924
char *output2;
@@ -926,7 +927,9 @@ static char *mdecodeRFC2047(char *string, int length, char *charsetsave)
926927
memcpy(output,output2,tmplen);
927928
output += tmplen;
928929
free(output2);
929-
memcpy(charsetsave,charset,strlen(charset)<255 ? strlen(charset) : 255 );
930+
charsetlen = strlen(charset) < 255 ? strlen(charset) : 255;
931+
memcpy(charsetsave,charset,charsetlen);
932+
charsetsave[charsetlen] = '\0';
930933
#else
931934
base64Decode(ptr, output, &len);
932935
output += len;

0 commit comments

Comments
 (0)