diff options
Diffstat (limited to 'camel')
-rw-r--r-- | camel/ChangeLog | 12 | ||||
-rw-r--r-- | camel/camel-mime-parser.c | 4 | ||||
-rw-r--r-- | camel/camel-stream.c | 4 | ||||
-rw-r--r-- | camel/providers/local/camel-local-store.c | 3 | ||||
-rw-r--r-- | camel/providers/local/camel-mbox-store.c | 3 |
5 files changed, 21 insertions, 5 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog index 66a11c947d..3403f72f0a 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,5 +1,17 @@ 2004-03-15 Not Zed <NotZed@Ximian.com> + * providers/local/camel-mbox-store.c (delete_folder): same as + below for path. + + * providers/local/camel-local-store.c (delete_folder): NULL out + str before looking up the state file using it. Otherwise we + double-free str. + + * camel-mime-parser.c (folder_scan_skip_line): we want to scan + till in-end-1. If we've been called we're either at the end of + data, or we know we have an end of line character within memory. + Another case in Bug #53355. + * providers/imap/camel-imap-folder.c (get_content, get_message): set the mime-type field on the content the same way as construct_from_stream does. Bug #55472. diff --git a/camel/camel-mime-parser.c b/camel/camel-mime-parser.c index d3954c069c..2748b32502 100644 --- a/camel/camel-mime-parser.c +++ b/camel/camel-mime-parser.c @@ -1097,7 +1097,7 @@ folder_scan_skip_line(struct _header_scan_state *s, GByteArray *save) while ( (len = folder_read(s)) > 0 && len > s->atleast) { /* ensure we have at least enough room here */ inptr = s->inptr; - inend = s->inend-1; + inend = s->inend; c = -1; while (inptr<inend @@ -1117,6 +1117,8 @@ folder_scan_skip_line(struct _header_scan_state *s, GByteArray *save) } } + d(printf("couldn't find end of line?\n")); + s->atleast = atleast; return -1; /* not found */ diff --git a/camel/camel-stream.c b/camel/camel-stream.c index bcc4640697..11eba1f816 100644 --- a/camel/camel-stream.c +++ b/camel/camel-stream.c @@ -114,7 +114,7 @@ camel_stream_write (CamelStream *stream, const char *buffer, size_t n) { g_return_val_if_fail (CAMEL_IS_STREAM (stream), -1); g_return_val_if_fail (n == 0 || buffer, -1); - + return CS_CLASS (stream)->write (stream, buffer, n); } @@ -132,7 +132,7 @@ int camel_stream_flush (CamelStream *stream) { g_return_val_if_fail (CAMEL_IS_STREAM (stream), -1); - + return CS_CLASS (stream)->flush (stream); } diff --git a/camel/providers/local/camel-local-store.c b/camel/providers/local/camel-local-store.c index a883f4a4dd..a009000f78 100644 --- a/camel/providers/local/camel-local-store.c +++ b/camel/providers/local/camel-local-store.c @@ -399,7 +399,8 @@ delete_folder(CamelStore *store, const char *folder_name, CamelException *ex) return; } g_free(str); - + + str = NULL; camel_exception_init (&lex); if ((lf = camel_store_get_folder (store, folder_name, 0, &lex))) { camel_object_get (lf, NULL, CAMEL_OBJECT_STATE_FILE, &str, NULL); diff --git a/camel/providers/local/camel-mbox-store.c b/camel/providers/local/camel-mbox-store.c index 45d91b1fa6..e8c47c5672 100644 --- a/camel/providers/local/camel-mbox-store.c +++ b/camel/providers/local/camel-mbox-store.c @@ -301,7 +301,8 @@ delete_folder(CamelStore *store, const char *folder_name, CamelException *ex) } g_free(path); - + + path = NULL; camel_exception_init(&lex); if ((lf = camel_store_get_folder(store, folder_name, 0, &lex))) { camel_object_get(lf, NULL, CAMEL_OBJECT_STATE_FILE, &path, NULL); |