aboutsummaryrefslogtreecommitdiffstats
path: root/camel/ChangeLog
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@ximian.com>2002-09-11 05:10:49 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2002-09-11 05:10:49 +0800
commitfbb7f7c202c6c4f8b435702ababe36463132292c (patch)
tree95bcaa3b7dba52abe7c474b1f9d15a64306cba59 /camel/ChangeLog
parent59431ce6f1c83c2549a3aca0ecc0b8be32d086a1 (diff)
downloadgsoc2013-evolution-fbb7f7c202c6c4f8b435702ababe36463132292c.tar
gsoc2013-evolution-fbb7f7c202c6c4f8b435702ababe36463132292c.tar.gz
gsoc2013-evolution-fbb7f7c202c6c4f8b435702ababe36463132292c.tar.bz2
gsoc2013-evolution-fbb7f7c202c6c4f8b435702ababe36463132292c.tar.lz
gsoc2013-evolution-fbb7f7c202c6c4f8b435702ababe36463132292c.tar.xz
gsoc2013-evolution-fbb7f7c202c6c4f8b435702ababe36463132292c.tar.zst
gsoc2013-evolution-fbb7f7c202c6c4f8b435702ababe36463132292c.zip
Do proper error checking and return -1 on fail.
2002-09-10 Jeffrey Stedfast <fejj@ximian.com> * camel-folder-summary.c (perform_content_info_save): Do proper error checking and return -1 on fail. (camel_folder_summary_save): Check the return of perform_content_info_save and a few other output calls within the message_info_save loop. If any of them fail, save errno, close the file, and return -1. If we finish the loop without fail, fflush the stream and then fsync (fflush only flushes user-space buffers, you still need to fsync afterward to flush the data to disk). If either fail, treat it as an exception by saving errno, closing the stream, and returning -1. I suspect that this also fixes bug #30150 because the old code would fclose if fflush or fclose failed in the check after the loop (man fclose(3) states that any further calls using the stream (even another call to fclose) will have undefined behaviour no matter what the first fclose call returned). * providers/local/camel-local-summary.c (camel_local_summary_init): Don't malloc a private struct of 0 size. svn path=/trunk/; revision=18036
Diffstat (limited to 'camel/ChangeLog')
-rw-r--r--camel/ChangeLog20
1 files changed, 20 insertions, 0 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog
index cf810f8551..198d071934 100644
--- a/camel/ChangeLog
+++ b/camel/ChangeLog
@@ -1,5 +1,25 @@
2002-09-10 Jeffrey Stedfast <fejj@ximian.com>
+ * camel-folder-summary.c (perform_content_info_save): Do proper
+ error checking and return -1 on fail.
+ (camel_folder_summary_save): Check the return of
+ perform_content_info_save and a few other output calls within the
+ message_info_save loop. If any of them fail, save errno, close the
+ file, and return -1. If we finish the loop without fail, fflush
+ the stream and then fsync (fflush only flushes user-space buffers,
+ you still need to fsync afterward to flush the data to disk). If
+ either fail, treat it as an exception by saving errno, closing the
+ stream, and returning -1. I suspect that this also fixes bug
+ #30150 because the old code would fclose if fflush or fclose
+ failed in the check after the loop (man fclose(3) states that any
+ further calls using the stream (even another call to fclose) will
+ have undefined behaviour no matter what the first fclose call
+ returned).
+
+ * providers/local/camel-local-summary.c
+ (camel_local_summary_init): Don't malloc a private struct of 0
+ size.
+
* providers/imap/camel-imap-folder.c
(camel_imap_folder_fetch_data): Clear the exception even if we
failed to get the message (part) from the imap-message-cache if we