aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--camel/ChangeLog6
-rw-r--r--camel/camel-file-utils.c6
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)