Fixes NB#126941 fixes some potential invalid dereference issues
authorSergio Villar Senin <svillar@igalia.com>
Thu, 13 Aug 2009 09:49:03 +0000 (11:49 +0200)
committerSergio Villar Senin <svillar@igalia.com>
Thu, 13 Aug 2009 14:50:02 +0000 (16:50 +0200)
src/hildon2/modest-msg-view-window.c
src/widgets/modest-recpt-editor.c

index 3d8626b..772f440 100644 (file)
@@ -1947,7 +1947,7 @@ message_reader (ModestMsgViewWindow *window,
                GtkTreeRowReference *row_reference)
 {
        ModestWindowMgr *mgr;
-       TnyAccount *account;
+       TnyAccount *account = NULL;
        MsgReaderInfo *info;
 
        /* We set the header from model while we're loading */
@@ -2001,7 +2001,8 @@ message_reader (ModestMsgViewWindow *window,
                                                                       TNY_FOLDER_STORE (folder),
                                                                       message_reader_performer, 
                                                                       info);
-                       g_object_unref (folder);
+                       if (folder)
+                               g_object_unref (folder);
                        return TRUE;
                }
        }
@@ -2009,7 +2010,9 @@ message_reader (ModestMsgViewWindow *window,
        if (header) {
                folder = tny_header_get_folder (header);
        }
-       account = tny_folder_get_account (folder);
+        if (folder)
+               account = tny_folder_get_account (folder);
+
        info = g_slice_new (MsgReaderInfo);
        info->msg_uid = g_strdup (msg_uid);
        if (folder)
@@ -2026,14 +2029,15 @@ message_reader (ModestMsgViewWindow *window,
                info->row_reference = NULL;
 
        message_reader_performer (FALSE, NULL, (GtkWindow *) window, account, info);
-       g_object_unref (account);
+        if (account)
+               g_object_unref (account);
        if (folder)
                g_object_unref (folder);
 
        return TRUE;
 }
 
-gboolean        
+gboolean
 modest_msg_view_window_select_next_message (ModestMsgViewWindow *window)
 {
        ModestMsgViewWindowPrivate *priv;
index 4ad939f..0136388 100644 (file)
@@ -305,7 +305,7 @@ modest_recpt_editor_replace_with_resolved_recipients (ModestRecptEditor *recpt_e
 
        gtk_text_buffer_delete (buffer, start, end);
 
-       while (email_lists_list) {
+       while (email_lists_list && recipient_ids_list) {
                gchar *recipient_id = (gchar *) recipient_ids_list->data;
                GSList *email_list = (GSList *) email_lists_list->data;