From: Sergio Villar Senin Date: Thu, 13 Aug 2009 09:49:03 +0000 (+0200) Subject: Fixes NB#126941 fixes some potential invalid dereference issues X-Git-Tag: 3.0.17-rc33~1 X-Git-Url: http://git.maemo.org/git/?p=modest;a=commitdiff_plain;h=5c0bea1874a655ba23a2df458e12faf9e23b3ae6 Fixes NB#126941 fixes some potential invalid dereference issues --- diff --git a/src/hildon2/modest-msg-view-window.c b/src/hildon2/modest-msg-view-window.c index 3d8626b..772f440 100644 --- a/src/hildon2/modest-msg-view-window.c +++ b/src/hildon2/modest-msg-view-window.c @@ -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; diff --git a/src/widgets/modest-recpt-editor.c b/src/widgets/modest-recpt-editor.c index 4ad939f..0136388 100644 --- a/src/widgets/modest-recpt-editor.c +++ b/src/widgets/modest-recpt-editor.c @@ -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;