summaryrefslogtreecommitdiff
authoralwin <alwin>2003-12-21 14:54:23 (UTC)
committer alwin <alwin>2003-12-21 14:54:23 (UTC)
commite886333e0890f4f32b1d441b0bfc0e404d1a3510 (patch) (side-by-side diff)
tree329ec98194935fa776bcf135ca432e5b99571650
parent1281563b998508efeaa63739fb2c7c92e8316e9c (diff)
downloadopie-e886333e0890f4f32b1d441b0bfc0e404d1a3510.zip
opie-e886333e0890f4f32b1d441b0bfc0e404d1a3510.tar.gz
opie-e886333e0890f4f32b1d441b0bfc0e404d1a3510.tar.bz2
fix for libetpan-0.32 for
- endless loop in decoding mime content - segfault when translating chars - unresolved symbol when linking without db-support
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/libetpanstuff/libetpan-0.32-mimecontent_dbsymbol.patch90
1 files changed, 90 insertions, 0 deletions
diff --git a/noncore/net/mail/libetpanstuff/libetpan-0.32-mimecontent_dbsymbol.patch b/noncore/net/mail/libetpanstuff/libetpan-0.32-mimecontent_dbsymbol.patch
new file mode 100644
index 0000000..1c2c723
--- a/dev/null
+++ b/noncore/net/mail/libetpanstuff/libetpan-0.32-mimecontent_dbsymbol.patch
@@ -0,0 +1,90 @@
+diff -ru libetpan-0.32/mime/mailmime_content.c libetpan-0.32-patched/mime/mailmime_content.c
+--- libetpan-0.32/mime/mailmime_content.c 2003-12-08 16:36:38.000000000 +0100
++++ libetpan-0.32-patched/mime/mailmime_content.c 2003-12-21 15:42:04.000000000 +0100
+@@ -1549,7 +1549,7 @@
+ /* ************************************************************************* */
+ /* MIME part decoding */
+
+-static char get_base64_value(char ch)
++static signed char get_base64_value(char ch)
+ {
+ if ((ch >= 'A') && (ch <= 'Z'))
+ return ch - 'A';
+@@ -1595,7 +1595,7 @@
+
+ i = 0;
+ while (1) {
+- char value;
++ signed char value;
+
+ value = -1;
+ while (value == -1) {
+diff -ru libetpan-0.32/mime/mailmime_decode.c libetpan-0.32-patched/mime/mailmime_decode.c
+--- libetpan-0.32/mime/mailmime_decode.c 2003-12-03 22:35:31.000000000 +0100
++++ libetpan-0.32-patched/mime/mailmime_decode.c 2003-12-21 15:42:25.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;
+ }
+diff -ru libetpan-0.32/tools/mail_cache_db.c libetpan-0.32-patched/tools/mail_cache_db.c
+--- libetpan-0.32/tools/mail_cache_db.c 2003-12-15 04:33:58.000000000 +0100
++++ libetpan-0.32-patched/tools/mail_cache_db.c 2003-12-21 15:45:36.000000000 +0100
+@@ -65,12 +65,13 @@
+
+ return cache_db;
+ }
+-
++#endif
+ static void mail_cache_db_free(struct mail_cache_db * cache_db)
+ {
++#if DBVERS >= 1
+ free(cache_db);
+-}
+ #endif
++}
+
+ int mail_cache_db_open(const char * filename,
+ struct mail_cache_db ** pcache_db)