workaround a stupid issue in how decoding is performed in mutt *sigh*
[apps/madmutt.git] / handler.c
index 11ff8a2..54b4839 100644 (file)
--- a/handler.c
+++ b/handler.c
@@ -139,8 +139,8 @@ static void qp_decode_line (char *dest, char *src, ssize_t * l, int last)
 
 static void mutt_decode_quoted (STATE * s, long len, int istext, iconv_t cd)
 {
-  char line[STRING];
-  char decline[2 * STRING];
+  char line[10 * STRING];
+  char decline[20 * STRING];
   ssize_t l = 0;
   ssize_t linelen;               /* number of input bytes in `line' */
   ssize_t l3;
@@ -182,6 +182,7 @@ static void mutt_decode_quoted (STATE * s, long len, int istext, iconv_t cd)
     /* decode and do character set conversion */
     qp_decode_line (decline + l, line, &l3, last);
     l += l3;
+    assert (l < sizeof(decline));
     mutt_convert_to_state (cd, decline, &l, s);
   }