From 51e56afac97c5254abfe76b65fd697a3e75e4bdd Mon Sep 17 00:00:00 2001 From: alwin Date: Thu, 18 Dec 2003 13:04:40 +0000 Subject: patch for possible segfault wenn translating charsets --- diff --git a/noncore/net/mail/libetpanstuff/mailmime_decode.c_arm_031_patch b/noncore/net/mail/libetpanstuff/mailmime_decode.c_arm_031_patch new file mode 100644 index 0000000..2963a14 --- a/dev/null +++ b/noncore/net/mail/libetpanstuff/mailmime_decode.c_arm_031_patch @@ -0,0 +1,49 @@ +--- mailmime_decode.c.orig 2003-12-18 13:52:20.000000000 +0100 ++++ mailmime_decode.c 2003-12-18 13:50:46.000000000 +0100 +@@ -102,8 +102,8 @@ + size_t cur_token; + int r; + int res; +- char * str; +- char * wordutf8; ++ char * str = 0; ++ char * wordutf8 = 0; + int type; + + cur_token = * index; +@@ -147,14 +147,14 @@ + goto free; + } + +- if (mmap_string_append(gphrase, wordutf8) == NULL) { ++ if (wordutf8==NULL || mmap_string_append(gphrase, wordutf8) == NULL) { + mailmime_encoded_word_free(word); +- free(wordutf8); ++ if (wordutf8) free(wordutf8); + res = MAILIMF_ERROR_MEMORY; + goto free; + } + mailmime_encoded_word_free(word); +- free(wordutf8); ++ if (wordutf8) free(wordutf8); + first = FALSE; + } + else if (r == MAILIMF_ERROR_PARSE) { +@@ -183,14 +183,14 @@ + r = charconv(tocode, default_fromcode, raw_word, + strlen(raw_word), &wordutf8); + +- if (mmap_string_append(gphrase, wordutf8) == NULL) { +- free(wordutf8); ++ if (wordutf8==NULL || mmap_string_append(gphrase, wordutf8) == NULL) { ++ if (wordutf8)free(wordutf8); + mailimf_word_free(raw_word); + res = MAILIMF_ERROR_MEMORY; + goto free; + } + +- free(wordutf8); ++ if (wordutf8) free(wordutf8); + mailimf_word_free(raw_word); + first = FALSE; + } -- cgit v0.9.0.2