diff options
-rw-r--r-- | camel/ChangeLog | 6 | ||||
-rw-r--r-- | camel/camel-file-utils.c | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog index 9812ba2404..a3c56f5ef5 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,3 +1,9 @@ +2004-02-12 Jeffrey Stedfast <fejj@ximian.com> + + * camel-file-utils.c (camel_file_util_encode_string): Since + decoding a string doesn't allow strings longer than 65536, + truncate strings that are longer than 65536 here. + 2004-02-09 Not Zed <NotZed@Ximian.com> ** See bug #53978. diff --git a/camel/camel-file-utils.c b/camel/camel-file-utils.c index 540fef2739..f4ed4cd22c 100644 --- a/camel/camel-file-utils.c +++ b/camel/camel-file-utils.c @@ -259,8 +259,10 @@ camel_file_util_encode_string (FILE *out, const char *str) if (str == NULL) return camel_file_util_encode_uint32 (out, 1); - - len = strlen (str); + + if ((len = strlen (str)) > 65536) + len = 65536; + if (camel_file_util_encode_uint32 (out, len+1) == -1) return -1; if (len == 0 || fwrite (str, len, 1, out) == 1) |