balsa r7952 - in trunk: . libbalsa



Author: pawels
Date: Wed Jul 30 19:34:14 2008
New Revision: 7952
URL: http://svn.gnome.org/viewvc/balsa?rev=7952&view=rev

Log:
* libbalsa/gmime-part-rfc2440.c: wrapper is not guaranteed to exist.
* libbalsa/gmime-application-pkcs7.c: ditto.
* libbalsa/body.c: ditto.
* libbalsa/mailbox_imap.c: remove cache file if download failed.


Modified:
   trunk/ChangeLog
   trunk/libbalsa/body.c
   trunk/libbalsa/gmime-application-pkcs7.c
   trunk/libbalsa/gmime-part-rfc2440.c
   trunk/libbalsa/mailbox_imap.c

Modified: trunk/libbalsa/body.c
==============================================================================
--- trunk/libbalsa/body.c	(original)
+++ trunk/libbalsa/body.c	Wed Jul 30 19:34:14 2008
@@ -444,6 +444,8 @@
 
         wrapper =
             g_mime_part_get_content_object(GMIME_PART(body->mime_part));
+	if(!wrapper) /* part is incomplete. */
+	    return NULL;
         stream = g_mime_data_wrapper_get_stream(wrapper);
         encoding = g_mime_data_wrapper_get_encoding(wrapper);
         g_object_unref(wrapper);

Modified: trunk/libbalsa/gmime-application-pkcs7.c
==============================================================================
--- trunk/libbalsa/gmime-application-pkcs7.c	(original)
+++ trunk/libbalsa/gmime-application-pkcs7.c	Wed Jul 30 19:34:14 2008
@@ -194,6 +194,7 @@
 
     /* get the ciphertext stream */
     wrapper = g_mime_part_get_content_object(GMIME_PART(pkcs7));
+    g_return_val_if_fail(wrapper, NULL); /* Incomplete part. */
     ciphertext = g_mime_stream_mem_new ();
     g_mime_data_wrapper_write_to_stream (wrapper, ciphertext);
     g_mime_stream_reset(ciphertext);
@@ -339,6 +340,7 @@
 
     /* get the ciphertext stream */
     wrapper = g_mime_part_get_content_object(GMIME_PART(pkcs7));
+    g_return_val_if_fail(wrapper, NULL); /* Incomplete part. */
     ciphertext = g_mime_stream_mem_new();
     g_mime_data_wrapper_write_to_stream (wrapper, ciphertext);
     g_mime_stream_reset(ciphertext);

Modified: trunk/libbalsa/gmime-part-rfc2440.c
==============================================================================
--- trunk/libbalsa/gmime-part-rfc2440.c	(original)
+++ trunk/libbalsa/gmime-part-rfc2440.c	Wed Jul 30 19:34:14 2008
@@ -120,6 +120,7 @@
 
     /* get the raw content */
     wrapper = g_mime_part_get_content_object(part);
+    g_return_val_if_fail(wrapper, -1); /* Incomplete part. */
     stream = g_mime_data_wrapper_get_stream(wrapper);
     g_object_unref(wrapper);
     g_mime_stream_reset(stream);
@@ -220,6 +221,7 @@
 
     /* get the raw content */
     wrapper = g_mime_part_get_content_object(GMIME_PART(part));
+    g_return_val_if_fail(wrapper, NULL); /* Incomplete part. */
     wrapper_stream = g_mime_data_wrapper_get_stream(wrapper);
     stream = g_mime_stream_mem_new();
     g_mime_data_wrapper_write_to_stream(wrapper, stream);
@@ -277,6 +279,7 @@
 
     /* get the raw content */
     wrapper = g_mime_part_get_content_object(part);
+    g_return_val_if_fail(wrapper, -1); /* Incomplete part. */
     stream = g_mime_stream_mem_new();
     g_mime_data_wrapper_write_to_stream(wrapper, stream);
     g_object_unref(wrapper);

Modified: trunk/libbalsa/mailbox_imap.c
==============================================================================
--- trunk/libbalsa/mailbox_imap.c	(original)
+++ trunk/libbalsa/mailbox_imap.c	Wed Jul 30 19:34:14 2008
@@ -1129,8 +1129,11 @@
                imap_mbox_handle_fetch_rfc822_uid(mimap->handle, uid,
                                                  peek, cache));
             fclose(cache);
+	    if(rc != IMR_OK) {
+		printf("Error fetching RFC822 message, removing cache.\n");
+		unlink(path);
+	    }
         }
-
 	stream = fopen(path,"rb");
     }
     g_free(path); 



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