[evolution-patches] 44322, crash with weird folder name



simple fix

Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/camel/ChangeLog,v
retrieving revision 1.1829
diff -u -3 -r1.1829 ChangeLog
--- ChangeLog	13 Jun 2003 19:06:50 -0000	1.1829
+++ ChangeLog	16 Jun 2003 06:20:29 -0000
@@ -1,3 +1,16 @@
+2003-06-16  Not Zed  <NotZed Ximian com>
+
+	** See bug #44322
+	
+	* providers/imap/camel-imap-command.c (imap_command_strdup_vprintf):
+	If we are outputting a folder name, make sure we calculate buffer
+	size based on the raw/utf7 version
+
+	** See bug #44121
+	
+	* camel-multipart-signed.c (signed_get_part): If we can't parse
+	the content, but we have a stream, just use that as the content.
+
 2003-06-05  Jeffrey Stedfast  <fejj ximian com>
 
 	Fix for bug #40788.
Index: providers/imap/camel-imap-command.c
===================================================================
RCS file: /cvs/gnome/evolution/camel/providers/imap/camel-imap-command.c,v
retrieving revision 1.58
diff -u -3 -r1.58 camel-imap-command.c
--- providers/imap/camel-imap-command.c	14 May 2003 17:53:46 -0000	1.58
+++ providers/imap/camel-imap-command.c	16 Jun 2003 06:20:29 -0000
@@ -699,7 +699,7 @@
 	const char *p, *start;
 	char *out, *outptr, *string;
 	int num, len, i, arglen;
-	
+
 	args = g_ptr_array_new ();
 	
 	/* Determine the length of the data */
@@ -726,6 +726,11 @@
 		case 'S':
 		case 'F':
 			string = va_arg (ap, char *);
+			if (*p == 'F') {
+				/* NB: this is freed during output */
+				char *s = camel_imap_store_summary_full_from_path(store->summary, string);
+				string = s?s:camel_utf8_utf7(string);
+			}
 			arglen = strlen (string);
 			g_ptr_array_add (args, string);
 			if (imap_is_atom (string)) {
@@ -776,11 +781,6 @@
 		case 'S':
 		case 'F':
 			string = args->pdata[i++];
-			if (*p == 'F') {
-				char *s = camel_imap_store_summary_full_from_path(store->summary, string);
-				string = s?s:camel_utf8_utf7(string);
-			}
-			
 			if (imap_is_atom (string)) {
 				outptr += sprintf (outptr, "%s", string);
 			} else {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]