aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--addressbook/gui/contact-editor/e-contact-editor.c38
-rw-r--r--addressbook/gui/contact-list-editor/e-contact-list-editor.c60
-rw-r--r--addressbook/printing/Makefile.am21
-rw-r--r--addressbook/printing/test-print.c51
-rw-r--r--addressbook/tools/evolution-addressbook-export-list-folders.c2
-rw-r--r--calendar/alarm-notify/alarm-notify-dialog.c25
-rw-r--r--calendar/gui/dialogs/comp-editor.c19
-rw-r--r--calendar/gui/dialogs/event-page.c14
-rw-r--r--calendar/gui/dialogs/memo-page.c8
-rw-r--r--calendar/gui/dialogs/recurrence-page.c4
-rw-r--r--calendar/gui/e-cal-model-tasks.c3
-rw-r--r--calendar/gui/e-cal-model.c7
-rw-r--r--calendar/gui/e-day-view-main-item.c4
-rw-r--r--calendar/gui/e-day-view.c66
-rw-r--r--calendar/gui/e-day-view.h2
-rw-r--r--calendar/gui/e-meeting-list-view.c11
-rw-r--r--calendar/gui/e-meeting-time-sel.c6
-rw-r--r--calendar/gui/e-week-view-event-item.c2
-rw-r--r--calendar/gui/e-week-view.c20
-rw-r--r--calendar/gui/e-weekday-chooser.c7
-rw-r--r--calendar/gui/ea-gnome-calendar.c7
-rw-r--r--calendar/gui/ea-week-view-main-item.c2
-rw-r--r--calendar/gui/ea-week-view.c11
-rw-r--r--calendar/gui/itip-utils.c9
-rw-r--r--calendar/gui/print.c14
-rw-r--r--calendar/importers/icalendar-importer.c44
-rw-r--r--composer/e-msg-composer.c124
-rw-r--r--e-util/e-attachment-store.c12
-rw-r--r--e-util/e-attachment.c17
-rw-r--r--e-util/e-canvas-background.c14
-rw-r--r--e-util/e-canvas.c12
-rw-r--r--e-util/e-cell-text.c8
-rw-r--r--e-util/e-filter-color.c3
-rw-r--r--e-util/e-filter-rule.c6
-rw-r--r--e-util/e-misc-utils.c1
-rw-r--r--e-util/e-name-selector-list.c5
-rw-r--r--e-util/e-send-options.c2
-rw-r--r--e-util/e-stock-request.c7
-rw-r--r--e-util/e-table-click-to-add.c1
-rw-r--r--e-util/e-table-config.c2
-rw-r--r--e-util/e-table-group-container.c2
-rw-r--r--e-util/e-table-header-item.c2
-rw-r--r--e-util/e-table-header-utils.c1
-rw-r--r--e-util/e-table-item.c9
-rw-r--r--e-util/e-text.c9
-rw-r--r--e-util/gal-a11y-e-cell-tree.c8
-rw-r--r--e-util/gal-a11y-e-cell.c5
-rw-r--r--e-util/gal-a11y-e-table-item.c61
-rw-r--r--e-util/test-calendar.c7
-rw-r--r--em-format/e-mail-formatter-headers.c5
-rw-r--r--em-format/e-mail-formatter-quote-attachment.c5
-rw-r--r--em-format/e-mail-formatter-text-html.c4
-rw-r--r--libemail-engine/e-mail-session.c2
-rw-r--r--libemail-engine/e-mail-utils.c6
-rw-r--r--libemail-engine/mail-folder-cache.c11
-rw-r--r--libemail-engine/mail-mt.c2
-rw-r--r--libgnomecanvas/gnome-canvas-text.c15
-rw-r--r--mail/e-http-request.c4
-rw-r--r--mail/e-mail-backend.c6
-rw-r--r--mail/e-mail-config-page.c1
-rw-r--r--mail/e-mail-migrate.c9
-rw-r--r--mail/e-mail-reader-utils.c3
-rw-r--r--mail/e-mail-reader.c1
-rw-r--r--mail/em-composer-utils.c6
-rw-r--r--mail/em-filter-rule.c5
-rw-r--r--mail/em-folder-properties.c136
-rw-r--r--mail/em-folder-tree.c55
-rw-r--r--mail/em-utils.c8
-rw-r--r--mail/importers/evolution-mbox-importer.c28
-rw-r--r--mail/importers/mail-importer.c2
-rw-r--r--mail/message-list.c25
-rw-r--r--modules/backup-restore/evolution-backup-tool.c2
-rw-r--r--modules/calendar/e-task-shell-view-private.c2
-rw-r--r--modules/itip-formatter/e-mail-part-itip.c8
-rw-r--r--modules/itip-formatter/itip-view.c17
-rw-r--r--modules/mail-config/e-mail-config-google-summary.c2
-rw-r--r--modules/mail-config/e-mail-config-yahoo-summary.c2
-rw-r--r--modules/mail/e-mail-shell-view-private.c3
-rw-r--r--plugins/attachment-reminder/attachment-reminder.c4
-rw-r--r--plugins/dbx-import/dbx-importer.c3
-rw-r--r--plugins/email-custom-header/email-custom-header.c1
-rw-r--r--plugins/external-editor/external-editor.c6
-rw-r--r--plugins/mail-to-task/mail-to-task.c42
-rw-r--r--plugins/mailing-list-actions/mailing-list-actions.c4
-rw-r--r--plugins/pst-import/pst-importer.c11
-rw-r--r--plugins/publish-calendar/url-editor-dialog.c3
-rw-r--r--plugins/save-calendar/save-calendar.c39
-rw-r--r--shell/e-convert-local-mail.c15
-rw-r--r--shell/e-shell-migrate.c11
-rw-r--r--shell/e-shell-utils.c2
-rw-r--r--shell/e-shell-view.c1
-rw-r--r--shell/killev.c3
-rw-r--r--smime/lib/e-cert-db.c1
93 files changed, 659 insertions, 637 deletions
diff --git a/addressbook/gui/contact-editor/e-contact-editor.c b/addressbook/gui/contact-editor/e-contact-editor.c
index 1a771fe98b..27c0f5b5c2 100644
--- a/addressbook/gui/contact-editor/e-contact-editor.c
+++ b/addressbook/gui/contact-editor/e-contact-editor.c
@@ -433,6 +433,7 @@ style_makes_sense (const EContactName *name,
else
return FALSE;
}
+ return FALSE;
case 3:
if (company && *company)
return TRUE;
@@ -1125,7 +1126,7 @@ extract_email (EContactEditor *editor)
{
GList *attr_list = NULL;
GList *old_attr_list;
- GList *l, *l_next;
+ GList *ll;
gint i;
for (i = 1; i <= EMAIL_SLOTS; i++) {
@@ -1157,14 +1158,12 @@ extract_email (EContactEditor *editor)
/* Splice in the old attributes, minus the EMAIL_SLOTS first */
old_attr_list = e_contact_get_attributes (editor->contact, E_CONTACT_EMAIL);
- for (l = old_attr_list, i = 1; l && i <= EMAIL_SLOTS; l = l_next, i++) {
- l_next = g_list_next (l);
-
- e_vcard_attribute_free (l->data);
- l = g_list_delete_link (l, l);
+ for (ll = old_attr_list, i = 1; ll && i <= EMAIL_SLOTS; i++) {
+ e_vcard_attribute_free (ll->data);
+ ll = g_list_delete_link (ll, ll);
}
- old_attr_list = l;
+ old_attr_list = ll;
attr_list = g_list_concat (attr_list, old_attr_list);
e_contact_set_attributes (editor->contact, E_CONTACT_EMAIL, attr_list);
@@ -1468,7 +1467,7 @@ extract_phone (EContactEditor *editor)
{
GList *attr_list = NULL;
GList *old_attr_list;
- GList *l, *l_next;
+ GList *ll;
gint i;
for (i = 1; i <= PHONE_SLOTS; i++) {
@@ -1509,14 +1508,12 @@ extract_phone (EContactEditor *editor)
/* Splice in the old attributes, minus the PHONE_SLOTS first */
old_attr_list = get_attributes_named (E_VCARD (editor->contact), "TEL");
- for (l = old_attr_list, i = 1; l && i <= PHONE_SLOTS; l = l_next, i++) {
- l_next = g_list_next (l);
-
- e_vcard_attribute_free (l->data);
- l = g_list_delete_link (l, l);
+ for (ll = old_attr_list, i = 1; ll && i <= PHONE_SLOTS; i++) {
+ e_vcard_attribute_free (ll->data);
+ ll = g_list_delete_link (ll, ll);
}
- old_attr_list = l;
+ old_attr_list = ll;
attr_list = g_list_concat (attr_list, old_attr_list);
set_attributes_named (E_VCARD (editor->contact), "TEL", attr_list);
@@ -1913,7 +1910,7 @@ extract_im (EContactEditor *editor)
for (i = 0; i < G_N_ELEMENTS (im_service); i++) {
GList *old_service_attr_list;
gint filled_in_slots;
- GList *l, *l_next;
+ GList *ll;
gint j;
/* Splice in the old attributes, minus the filled_in_slots first */
@@ -1925,15 +1922,14 @@ extract_im (EContactEditor *editor)
g_list_length (old_service_attr_list));
remaining_slots -= filled_in_slots;
- for (l = old_service_attr_list, j = 0;
- l && j < filled_in_slots; l = l_next, j++) {
- l_next = g_list_next (l);
+ for (ll = old_service_attr_list, j = 0;
+ ll && j < filled_in_slots; j++) {
- e_vcard_attribute_free (l->data);
- l = g_list_delete_link (l, l);
+ e_vcard_attribute_free (ll->data);
+ ll = g_list_delete_link (ll, ll);
}
- old_service_attr_list = l;
+ old_service_attr_list = ll;
service_attr_list[i] = g_list_concat (
service_attr_list[i], old_service_attr_list);
diff --git a/addressbook/gui/contact-list-editor/e-contact-list-editor.c b/addressbook/gui/contact-list-editor/e-contact-list-editor.c
index 4bcaa9bbfb..8a5dbf087e 100644
--- a/addressbook/gui/contact-list-editor/e-contact-list-editor.c
+++ b/addressbook/gui/contact-list-editor/e-contact-list-editor.c
@@ -502,9 +502,9 @@ contact_list_editor_selection_changed_cb (GtkTreeSelection *selection,
gtk_widget_set_sensitive (WIDGET (UP_BUTTON), FALSE);
}
- gtk_tree_model_get_iter (model, &iter, g_list_last (selected)->data);
/* Item below last selected exists => enable Down/Bottom buttons */
- if (gtk_tree_model_iter_next (model, &iter)) {
+ if (gtk_tree_model_get_iter (model, &iter, g_list_last (selected)->data) &&
+ gtk_tree_model_iter_next (model, &iter)) {
gtk_widget_set_sensitive (WIDGET (DOWN_BUTTON), TRUE);
gtk_widget_set_sensitive (WIDGET (BOTTOM_BUTTON), TRUE);
} else {
@@ -888,9 +888,11 @@ contact_list_editor_remove_button_clicked_cb (GtkWidget *widget)
path = gtk_tree_row_reference_get_path (reference);
valid = gtk_tree_model_get_iter (model, &iter, path);
gtk_tree_path_free (path);
- g_assert (valid);
-
- e_contact_list_model_remove_row (E_CONTACT_LIST_MODEL (model), &iter);
+ if (valid) {
+ e_contact_list_model_remove_row (E_CONTACT_LIST_MODEL (model), &iter);
+ } else {
+ g_warn_if_reached ();
+ }
gtk_tree_row_reference_free (reference);
}
@@ -967,7 +969,9 @@ contact_list_editor_select_button_clicked_cb (GtkWidget *widget)
for (iter = list; iter != NULL; iter = iter->next) {
EDestination *destination = iter->data;
- contact_list_editor_add_destination (widget, destination);
+ if (!contact_list_editor_add_destination (widget, destination))
+ g_warning ("%s: Failed to add destination", G_STRFUNC);
+
e_destination_store_remove_destination (store, destination);
}
@@ -1066,9 +1070,9 @@ contact_list_editor_top_button_clicked_cb (GtkButton *button)
for (l = references; l; l = l->next) {
path = gtk_tree_row_reference_get_path (l->data);
- gtk_tree_model_get_iter (model, &iter, path);
- gtk_tree_store_move_after (
- GTK_TREE_STORE (model), &iter, NULL);
+ if (gtk_tree_model_get_iter (model, &iter, path))
+ gtk_tree_store_move_after (
+ GTK_TREE_STORE (model), &iter, NULL);
gtk_tree_path_free (path);
}
@@ -1105,16 +1109,19 @@ contact_list_editor_up_button_clicked_cb (GtkButton *button)
/* Get iter of item above the first selected item */
path = gtk_tree_path_copy (selected->data);
gtk_tree_path_prev (path);
- gtk_tree_model_get_iter (model, &iter, path);
+ if (!gtk_tree_model_get_iter (model, &iter, path)) {
+ gtk_tree_path_free (path);
+ g_list_free_full (selected, (GDestroyNotify) gtk_tree_path_free);
+ return;
+ }
gtk_tree_path_free (path);
/* Get iter of the last selected item */
- gtk_tree_model_get_iter (model, &iter2, g_list_last (selected)->data);
+ if (gtk_tree_model_get_iter (model, &iter2, g_list_last (selected)->data)) {
+ gtk_tree_store_move_after (GTK_TREE_STORE (model), &iter, &iter2);
+ }
- gtk_tree_store_move_after (GTK_TREE_STORE (model), &iter, &iter2);
-
- g_list_foreach (selected, (GFunc) gtk_tree_path_free, NULL);
- g_list_free (selected);
+ g_list_free_full (selected, (GDestroyNotify) gtk_tree_path_free);
contact_list_editor_selection_changed_cb (selection, editor);
}
@@ -1141,16 +1148,21 @@ contact_list_editor_down_button_clicked_cb (GtkButton *button)
selected = gtk_tree_selection_get_selected_rows (selection, &model);
/* Iter of the first selected item */
- gtk_tree_model_get_iter (model, &iter, selected->data);
+ if (!gtk_tree_model_get_iter (model, &iter, selected->data)) {
+ g_list_free_full (selected, (GDestroyNotify) gtk_tree_path_free);
+ return;
+ }
/* Iter of item below the last selected item */
- gtk_tree_model_get_iter (model, &iter2, g_list_last (selected)->data);
- gtk_tree_model_iter_next (model, &iter2);
+ if (!gtk_tree_model_get_iter (model, &iter2, g_list_last (selected)->data) ||
+ !gtk_tree_model_iter_next (model, &iter2)) {
+ g_list_free_full (selected, (GDestroyNotify) gtk_tree_path_free);
+ return;
+ }
gtk_tree_store_move_before (GTK_TREE_STORE (model), &iter2, &iter);
- g_list_foreach (selected, (GFunc) gtk_tree_path_free, NULL);
- g_list_free (selected);
+ g_list_free_full (selected, (GDestroyNotify) gtk_tree_path_free);
contact_list_editor_selection_changed_cb (selection, editor);
}
@@ -1828,10 +1840,10 @@ save_contact_list (GtkTreeModel *model,
g_free (uid);
/* Set new_iter to first child of iter */
- gtk_tree_model_iter_children (model, &new_iter, iter);
-
- /* Go recursive */
- save_contact_list (model, &new_iter, attrs, parent_id);
+ if (gtk_tree_model_iter_children (model, &new_iter, iter)) {
+ /* Go recursive */
+ save_contact_list (model, &new_iter, attrs, parent_id);
+ }
} else {
attr = e_vcard_attribute_new (NULL, EVC_EMAIL);
e_destination_export_to_vcard_attribute (dest, attr);
diff --git a/addressbook/printing/Makefile.am b/addressbook/printing/Makefile.am
index c51eb14d3b..58f2ca12d2 100644
--- a/addressbook/printing/Makefile.am
+++ b/addressbook/printing/Makefile.am
@@ -29,27 +29,6 @@ libecontactprint_la_LIBADD = \
$(GNOME_PLATFORM_LIBS) \
$(GTKHTML_LIBS)
-noinst_PROGRAMS = contact-print-test
-
-contact_print_test_CPPFLAGS = \
- $(AM_CPPFLAGS) \
- -DG_LOG_DOMAIN=\"addressbook-printing\" \
- -I$(top_srcdir)/addressbook \
- -I$(top_srcdir) \
- -DEVOLUTION_ECPSDIR=\""$(ecpsdir)"\" \
- $(EVOLUTION_DATA_SERVER_CFLAGS) \
- $(GNOME_PLATFORM_CFLAGS)
-
-contact_print_test_SOURCES = test-print.c
-
-contact_print_test_LDADD = \
- libecontactprint.la \
- $(top_builddir)/addressbook/util/libeabutil.la \
- $(top_builddir)/shell/libevolution-shell.la \
- $(top_builddir)/e-util/libevolution-util.la \
- $(EVOLUTION_DATA_SERVER_LIBS) \
- $(GNOME_PLATFORM_LIBS)
-
EXTRA_DIST = \
$(ecps_DATA)
diff --git a/addressbook/printing/test-print.c b/addressbook/printing/test-print.c
deleted file mode 100644
index 6f461959c3..0000000000
--- a/addressbook/printing/test-print.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) version 3.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with the program; if not, see <http://www.gnu.org/licenses/>
- *
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
- *
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <stdlib.h>
-#include <gtk/gtk.h>
-#include "e-contact-print.h"
-
-gint
-main (gint argc,
- gchar *argv[])
-{
- GList *shown_fields = NULL;
-
- gtk_init (&argc, &argv);
-
- shown_fields = g_list_append (shown_fields, (gpointer) "First field");
- shown_fields = g_list_append (shown_fields, (gpointer) "Second field");
- shown_fields = g_list_append (shown_fields, (gpointer) "Third field");
- shown_fields = g_list_append (shown_fields, (gpointer) "Fourth field");
-
- /* does nothing */
- e_contact_print (NULL, NULL, NULL, GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG);
-
- gtk_main ();
-
- /* Not reached. */
- return 0;
-}
diff --git a/addressbook/tools/evolution-addressbook-export-list-folders.c b/addressbook/tools/evolution-addressbook-export-list-folders.c
index 2ff9d790a4..538ea4f063 100644
--- a/addressbook/tools/evolution-addressbook-export-list-folders.c
+++ b/addressbook/tools/evolution-addressbook-export-list-folders.c
@@ -67,7 +67,7 @@ action_list_folders_init (ActionContext *p_actctx)
client = e_book_client_connect_sync (source, NULL, &error);
/* Sanity check. */
- g_return_if_fail (
+ g_warn_if_fail (
((client != NULL) && (error == NULL)) ||
((client == NULL) && (error != NULL)));
diff --git a/calendar/alarm-notify/alarm-notify-dialog.c b/calendar/alarm-notify/alarm-notify-dialog.c
index ac6ce49d93..0eb0774f09 100644
--- a/calendar/alarm-notify/alarm-notify-dialog.c
+++ b/calendar/alarm-notify/alarm-notify-dialog.c
@@ -155,7 +155,10 @@ dialog_response_cb (GtkDialog *dialog,
gtk_tree_model_get (treemodel, &iter, ALARM_FUNCINFO_COLUMN, &funcinfo, -1);
}
- g_return_if_fail (funcinfo);
+ if (!funcinfo) {
+ g_warn_if_reached ();
+ return;
+ }
switch (response_id) {
case GTK_RESPONSE_CLOSE:
@@ -178,7 +181,10 @@ edit_pressed_cb (GtkButton *button,
if (gtk_tree_selection_get_selected (selection, &model, &iter))
gtk_tree_model_get (model, &iter, ALARM_FUNCINFO_COLUMN, &funcinfo, -1);
- g_return_if_fail (funcinfo);
+ if (!funcinfo) {
+ g_warn_if_reached ();
+ return;
+ }
(* funcinfo->func) (ALARM_NOTIFY_EDIT, -1, funcinfo->func_data);
}
@@ -196,7 +202,10 @@ print_pressed_cb (GtkButton *button,
if (gtk_tree_selection_get_selected (selection, &model, &iter))
gtk_tree_model_get (model, &iter, ALARM_FUNCINFO_COLUMN, &funcinfo, -1);
- g_return_if_fail (funcinfo);
+ if (!funcinfo) {
+ g_warn_if_reached ();
+ return;
+ }
(* funcinfo->func) (ALARM_NOTIFY_PRINT, -1, funcinfo->func_data);
}
@@ -219,7 +228,10 @@ snooze_pressed_cb (GtkButton *button,
if (gtk_tree_selection_get_selected (selection, &model, &iter))
gtk_tree_model_get (model, &iter, ALARM_FUNCINFO_COLUMN, &funcinfo, -1);
- g_return_if_fail (funcinfo);
+ if (!funcinfo) {
+ g_warn_if_reached ();
+ return;
+ }
snooze_timeout = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (an->snooze_time_min));
snooze_timeout += 60 * (gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (an->snooze_time_hrs)));
@@ -248,7 +260,10 @@ dismiss_pressed_cb (GtkButton *button,
if (gtk_tree_selection_get_selected (selection, &model, &iter))
gtk_tree_model_get (model, &iter, ALARM_FUNCINFO_COLUMN, &funcinfo, -1);
- g_return_if_fail (funcinfo);
+ if (!funcinfo) {
+ g_warn_if_reached ();
+ return;
+ }
(* funcinfo->func) (ALARM_NOTIFY_DISMISS, -1, funcinfo->func_data);
}
diff --git a/calendar/gui/dialogs/comp-editor.c b/calendar/gui/dialogs/comp-editor.c
index 0459e4797a..0c831de19c 100644
--- a/calendar/gui/dialogs/comp-editor.c
+++ b/calendar/gui/dialogs/comp-editor.c
@@ -329,6 +329,7 @@ get_attachment_list (CompEditor *editor)
/* We can't return until we have results, so crank
* the main loop until the callback gets triggered. */
+ /* coverity[loop_condition] */
while (!status.done)
gtk_main_iteration ();
@@ -936,25 +937,21 @@ save_and_close_editor (CompEditor *editor,
if (e_attachment_store_get_num_loading (store) > 0) {
gboolean response = 1;
- /*FIXME: Cannot use mail functions from calendar!!!! */
-#if 0
ECalComponentVType vtype = e_cal_component_get_vtype (editor->priv->comp);
if (vtype == E_CAL_COMPONENT_EVENT)
- response = em_utils_prompt_user (
- (GtkWindow *) widget,
- NULL,
+ response = e_alert_run_dialog_for_args (
+ GTK_WINDOW (editor),
"calendar:ask-send-event-pending-download",
NULL);
else
- response = em_utils_prompt_user (
- (GtkWindow *) widget,
- NULL,
+ response = e_alert_run_dialog_for_args (
+ GTK_WINDOW (editor),
"calendar:ask-send-task-pending-download",
NULL);
-#endif
- if (!response)
- return;
+
+ if (response != GTK_RESPONSE_YES)
+ return;
}
if (e_client_is_readonly (E_CLIENT (priv->cal_client))) {
diff --git a/calendar/gui/dialogs/event-page.c b/calendar/gui/dialogs/event-page.c
index f4d9658ccb..09cb8c880b 100644
--- a/calendar/gui/dialogs/event-page.c
+++ b/calendar/gui/dialogs/event-page.c
@@ -991,12 +991,14 @@ event_page_load_locations_list (CompEditorPage *page,
}
error = NULL;
- g_file_get_contents (file_name, &contents, NULL, &error);
- if (error != NULL) {
- g_warning (
- "%s: Failed to load locations list: %s",
- G_STRFUNC, error->message);
- g_error_free (error);
+ if (!g_file_get_contents (file_name, &contents, NULL, &error)) {
+ if (error != NULL) {
+ g_warning (
+ "%s: Failed to load locations list: %s",
+ G_STRFUNC, error->message);
+ g_error_free (error);
+ }
+
g_free (file_name);
return;
}
diff --git a/calendar/gui/dialogs/memo-page.c b/calendar/gui/dialogs/memo-page.c
index 1fd9221a54..0e06d19316 100644
--- a/calendar/gui/dialogs/memo-page.c
+++ b/calendar/gui/dialogs/memo-page.c
@@ -605,12 +605,10 @@ fill_comp_with_recipients (ENameSelector *name_selector,
for (l = list_dests; l; l = l->next) {
EDestination *dest = l->data;
- const gchar *attendee = NULL;
+ const gchar *attendee;
- /* If we couldn't get the attendee prior,
- * get the email address as the default. */
- if (attendee == NULL || *attendee == '\0')
- attendee = e_destination_get_email (dest);
+ /* Get the email address as the default. */
+ attendee = e_destination_get_email (dest);
if (attendee == NULL || *attendee == '\0')
continue;
diff --git a/calendar/gui/dialogs/recurrence-page.c b/calendar/gui/dialogs/recurrence-page.c
index 638bfafc71..7828868e54 100644
--- a/calendar/gui/dialogs/recurrence-page.c
+++ b/calendar/gui/dialogs/recurrence-page.c
@@ -837,8 +837,10 @@ simple_recur_to_comp (RecurrencePage *rpage,
if (month_num == MONTH_NUM_LAST)
month_num = -1;
- else
+ else if (month_num != -1)
month_num++;
+ else
+ g_warn_if_reached ();
switch (month_day) {
case MONTH_DAY_NTH:
diff --git a/calendar/gui/e-cal-model-tasks.c b/calendar/gui/e-cal-model-tasks.c
index c14371c090..d4315f1a6e 100644
--- a/calendar/gui/e-cal-model-tasks.c
+++ b/calendar/gui/e-cal-model-tasks.c
@@ -588,6 +588,9 @@ set_status (ECalModelComponent *comp_data,
case ICAL_STATUS_COMPLETED:
ensure_task_complete (comp_data, -1);
break;
+
+ /* to make compiler happy */
+ /* coverity[dead_error_begin] */
default:
break;
}
diff --git a/calendar/gui/e-cal-model.c b/calendar/gui/e-cal-model.c
index 5748e23d78..a4f06efac5 100644
--- a/calendar/gui/e-cal-model.c
+++ b/calendar/gui/e-cal-model.c
@@ -2108,12 +2108,7 @@ e_cal_model_update_comp_time (ECalModel *model,
/* If the TZID is set to "UTC", we don't want to save the TZID. */
if (tzid && strcmp (tzid, "UTC")) {
- if (param) {
- icalparameter_set_tzid (param, (gchar *) tzid);
- } else {
- param = icalparameter_new_tzid ((gchar *) tzid);
- icalproperty_add_parameter (prop, param);
- }
+ icalparameter_set_tzid (param, (gchar *) tzid);
} else {
icalproperty_remove_parameter (prop, ICAL_TZID_PARAMETER);
}
diff --git a/calendar/gui/e-day-view-main-item.c b/calendar/gui/e-day-view-main-item.c
index cdf167edd2..ef233f4a6f 100644
--- a/calendar/gui/e-day-view-main-item.c
+++ b/calendar/gui/e-day-view-main-item.c
@@ -1013,6 +1013,10 @@ day_view_main_item_draw (GnomeCanvasItem *canvas_item,
g_return_if_fail (day_view != NULL);
days_shown = e_day_view_get_days_shown (day_view);
+ if (days_shown <= 0) {
+ g_warn_if_reached ();
+ return;
+ }
cal_view = E_CALENDAR_VIEW (day_view);
time_divisions = e_calendar_view_get_time_divisions (cal_view);
diff --git a/calendar/gui/e-day-view.c b/calendar/gui/e-day-view.c
index 93f66408d9..41fbc41ca1 100644
--- a/calendar/gui/e-day-view.c
+++ b/calendar/gui/e-day-view.c
@@ -1540,10 +1540,11 @@ day_view_focus (GtkWidget *widget,
e_day_view_ensure_rows_visible (
day_view,
start_row, end_row);
+ } else if (new_day != -1) {
+ e_day_view_start_editing_event (
+ day_view, new_day,
+ new_event_num, NULL);
}
- e_day_view_start_editing_event (
- day_view, new_day,
- new_event_num, NULL);
return TRUE;
}
@@ -1771,6 +1772,8 @@ day_view_get_visible_time_range (ECalendarView *cal_view,
return FALSE;
days_shown = e_day_view_get_days_shown (day_view);
+ if (days_shown <= 0)
+ return FALSE;
*start_time = day_view->day_starts[0];
*end_time = day_view->day_starts[days_shown];
@@ -3417,6 +3420,8 @@ e_day_view_recalc_day_starts (EDayView *day_view,
GDate dt;
days_shown = e_day_view_get_days_shown (day_view);
+ if (days_shown <= 0)
+ return;
day_view->day_starts[0] = start_time;
for (day = 1; day <= days_shown; day++) {
@@ -4321,11 +4326,13 @@ e_day_view_on_long_event_click (EDayView *day_view,
day_view->drag_event_x = event_x;
day_view->drag_event_y = event_y;
- e_day_view_convert_position_in_top_canvas (
+ pos = e_day_view_convert_position_in_top_canvas (
day_view,
event_x, event_y,
&day, NULL);
- day_view->drag_event_offset = day - start_day;
+
+ if (pos != E_CALENDAR_VIEW_POS_NONE && pos != E_CALENDAR_VIEW_POS_OUTSIDE)
+ day_view->drag_event_offset = day - start_day;
}
}
@@ -4428,13 +4435,16 @@ e_day_view_on_event_click (EDayView *day_view,
day_view->drag_event_x = event_x;
day_view->drag_event_y = event_y;
- e_day_view_convert_position_in_main_canvas (
+ pos = e_day_view_convert_position_in_main_canvas (
day_view,
event_x, event_y,
&tmp_day, &row,
NULL);
- start_row = event->start_minute / time_divisions;
- day_view->drag_event_offset = row - start_row;
+
+ if (pos != E_CALENDAR_VIEW_POS_NONE && pos != E_CALENDAR_VIEW_POS_OUTSIDE) {
+ start_row = event->start_minute / time_divisions;
+ day_view->drag_event_offset = row - start_row;
+ }
}
}
@@ -6882,7 +6892,10 @@ cancel_editing (EDayView *day_view)
day = day_view->editing_event_day;
event_num = day_view->editing_event_num;
- g_return_if_fail (day != -1);
+ if (day == -1) {
+ g_warn_if_reached ();
+ return;
+ }
if (day == E_DAY_VIEW_LONG_EVENT) {
if (!is_array_index_in_bounds (day_view->long_events, event_num))
@@ -7005,11 +7018,16 @@ e_day_view_on_text_item_event (GnomeCanvasItem *item,
break;
case GDK_BUTTON_RELEASE:
- if (day_view->resize_event_num != -1)
- day_view->resize_event_num = -1;
+ if (day_view->resize_event_num != -1)
+ day_view->resize_event_num = -1;
- if (day_view->drag_event_num != -1)
- day_view->drag_event_num = -1;
+ if (day_view->drag_event_num != -1)
+ day_view->drag_event_num = -1;
+ tooltip_destroy (day_view, item);
+ /* Only let the EText handle the event while editing. */
+ if (!E_TEXT (item)->editing)
+ g_signal_stop_emission_by_name (item, "event");
+ break;
case GDK_BUTTON_PRESS:
tooltip_destroy (day_view, item);
@@ -8441,12 +8459,12 @@ e_day_view_update_main_canvas_drag (EDayView *day_view,
end_row = start_row;
num_rows = end_row - start_row + 1;
- }
- if (event && day_view->drag_event_day == day && start_row == row) {
- cols_in_row = day_view->cols_per_row[day][row];
- start_col = event->start_row_or_col;
- num_columns = event->num_columns;
+ if (day_view->drag_event_day == day && start_row == row) {
+ cols_in_row = day_view->cols_per_row[day][row];
+ start_col = event->start_row_or_col;
+ num_columns = event->num_columns;
+ }
}
item_x = day_view->day_offsets[day]
@@ -8561,7 +8579,11 @@ e_day_view_on_drag_begin (GtkWidget *widget,
event_num = day_view->drag_event_num;
/* These should both be set. */
- g_return_if_fail (day != -1);
+ if (day == -1) {
+ g_warn_if_reached ();
+ return;
+ }
+
g_return_if_fail (event_num != -1);
if (day == E_DAY_VIEW_LONG_EVENT) {
@@ -8639,7 +8661,11 @@ e_day_view_on_drag_data_get (GtkWidget *widget,
event_num = day_view->drag_event_num;
/* These should both be set. */
- g_return_if_fail (day != -1);
+ if (day == -1) {
+ g_warn_if_reached ();
+ return;
+ }
+
g_return_if_fail (event_num != -1);
if (day == E_DAY_VIEW_LONG_EVENT) {
diff --git a/calendar/gui/e-day-view.h b/calendar/gui/e-day-view.h
index 19d735d6d2..e02567fff8 100644
--- a/calendar/gui/e-day-view.h
+++ b/calendar/gui/e-day-view.h
@@ -277,7 +277,7 @@ struct _EDayView {
/* This is the width & offset of each of the day columns in the
* display. */
- gint day_widths[E_DAY_VIEW_MAX_DAYS];
+ gint day_widths[E_DAY_VIEW_MAX_DAYS + 1];
gint day_offsets[E_DAY_VIEW_MAX_DAYS + 1];
/* An array holding the number of columns in each row, in each day.
diff --git a/calendar/gui/e-meeting-list-view.c b/calendar/gui/e-meeting-list-view.c
index e211d21f82..0b584a11de 100644
--- a/calendar/gui/e-meeting-list-view.c
+++ b/calendar/gui/e-meeting-list-view.c
@@ -307,15 +307,16 @@ e_meeting_list_view_remove_attendee_from_name_selector (EMeetingListView *view,
EDestination *des = l->data;
if (e_destination_is_evolution_list (des)) {
- GList *l, *dl;
+ GList *l2, *dl;
dl = (GList *) e_destination_list_get_dests (des);
- for (l = dl; l; l = l->next) {
- attendee = e_destination_get_email (l->data);
+ for (l2 = dl; l2; l2 = l2->next) {
+ attendee = e_destination_get_email (l2->data);
if (madd && attendee && g_str_equal (madd, attendee)) {
- g_object_unref (l->data);
- l = g_list_remove (l, l->data);
+ g_object_unref (l2->data);
+ /* coverity[returned_pointer] */
+ l2 = g_list_remove (l2, l2->data);
break;
}
}
diff --git a/calendar/gui/e-meeting-time-sel.c b/calendar/gui/e-meeting-time-sel.c
index 674059dc71..f8965700fa 100644
--- a/calendar/gui/e-meeting-time-sel.c
+++ b/calendar/gui/e-meeting-time-sel.c
@@ -997,7 +997,11 @@ e_meeting_time_selector_create_no_info_pattern (EMeetingTimeSelector *mts)
CAIRO_CONTENT_COLOR, 8, 8);
cr = cairo_create (surface);
- gdk_color_parse ("white", &color);
+ color.pixel = 0;
+ color.red = 0xFFFF;
+ color.green = 0xFFFF;
+ color.blue = 0xFFFF;
+
gdk_cairo_set_source_color (cr, &color);
cairo_paint (cr);
diff --git a/calendar/gui/e-week-view-event-item.c b/calendar/gui/e-week-view-event-item.c
index 298319cdea..4fa4966457 100644
--- a/calendar/gui/e-week-view-event-item.c
+++ b/calendar/gui/e-week-view-event-item.c
@@ -888,7 +888,7 @@ week_view_event_item_draw (GnomeCanvasItem *canvas_item,
draw_end = FALSE;
break;
default:
- g_return_if_reached ();
+ g_warn_if_reached ();
draw_start = FALSE;
draw_end = FALSE;
break;
diff --git a/calendar/gui/e-week-view.c b/calendar/gui/e-week-view.c
index a45cb0cb77..7e1be0a614 100644
--- a/calendar/gui/e-week-view.c
+++ b/calendar/gui/e-week-view.c
@@ -1259,7 +1259,6 @@ week_view_set_selected_time_range (ECalendarView *cal_view,
{
GDate date, end_date;
gint num_days;
- gboolean update_adjustment_value = FALSE;
EWeekView *week_view = E_WEEK_VIEW (cal_view);
g_return_if_fail (E_IS_WEEK_VIEW (week_view));
@@ -1293,18 +1292,6 @@ week_view_set_selected_time_range (ECalendarView *cal_view,
week_view->selection_start_day,
num_days);
- /* Reset the adjustment value to 0 if the base address has changed.
- * Note that we do this after updating first_day_shown so that our
- * signal handler will not try to reload the events. */
- if (update_adjustment_value) {
- GtkRange *range;
- GtkAdjustment *adjustment;
-
- range = GTK_RANGE (week_view->vscrollbar);
- adjustment = gtk_range_get_adjustment (range);
- gtk_adjustment_set_value (adjustment, 0);
- }
-
gtk_widget_queue_draw (week_view->main_canvas);
}
@@ -3703,7 +3690,7 @@ e_week_view_start_editing_event (EWeekView *week_view,
editing = &g_array_index (week_view->events, EWeekViewEvent, week_view->editing_event_num);
/* do not change to other part of same component - the event is spread into more days */
- if (editing && event && editing->comp_data == event->comp_data)
+ if (editing && editing->comp_data == event->comp_data)
return FALSE;
}
@@ -4828,7 +4815,10 @@ e_week_view_on_jump_button_event (GnomeCanvasItem *item,
break;
}
- g_return_val_if_fail (day < E_WEEK_VIEW_MAX_WEEKS * 7, FALSE);
+ if (day >= E_WEEK_VIEW_MAX_WEEKS * 7) {
+ g_warn_if_reached ();
+ return FALSE;
+ }
if (focus_event->in) {
week_view->focused_jump_button = day;
diff --git a/calendar/gui/e-weekday-chooser.c b/calendar/gui/e-weekday-chooser.c
index ef459e574d..05757a5c2f 100644
--- a/calendar/gui/e-weekday-chooser.c
+++ b/calendar/gui/e-weekday-chooser.c
@@ -480,7 +480,10 @@ day_event_cb (GnomeCanvasItem *item,
break;
}
- g_return_val_if_fail (ii < 7, FALSE);
+ if (ii >= 7) {
+ g_warn_if_reached ();
+ return FALSE;
+ }
chooser->priv->focus_day = e_weekday_add_days (
chooser->priv->week_start_day, ii);
@@ -634,7 +637,7 @@ e_weekday_chooser_set_blocked (EWeekdayChooser *chooser,
GDateWeekday
e_weekday_chooser_get_week_start_day (EWeekdayChooser *chooser)
{
- g_return_val_if_fail (E_IS_WEEKDAY_CHOOSER (chooser), -1);
+ g_return_val_if_fail (E_IS_WEEKDAY_CHOOSER (chooser), G_DATE_BAD_WEEKDAY);
return chooser->priv->week_start_day;
}
diff --git a/calendar/gui/ea-gnome-calendar.c b/calendar/gui/ea-gnome-calendar.c
index 7edf52de7d..9fd48565a9 100644
--- a/calendar/gui/ea-gnome-calendar.c
+++ b/calendar/gui/ea-gnome-calendar.c
@@ -162,8 +162,11 @@ ea_gnome_calendar_get_label_description (GnomeCalendar *gcal)
view_type = gnome_calendar_get_view (gcal);
calendar_view = gnome_calendar_get_calendar_view (gcal, view_type);
- e_calendar_view_get_visible_time_range (
- calendar_view, &start_time, &end_time);
+ if(!e_calendar_view_get_visible_time_range (
+ calendar_view, &start_time, &end_time)) {
+ g_warn_if_reached ();
+ return NULL;
+ }
start_tt = icaltime_from_timet_with_zone (start_time, FALSE, zone);
start_tm.tm_year = start_tt.year - 1900;
diff --git a/calendar/gui/ea-week-view-main-item.c b/calendar/gui/ea-week-view-main-item.c
index 3aa571d3a9..20c86aa7c0 100644
--- a/calendar/gui/ea-week-view-main-item.c
+++ b/calendar/gui/ea-week-view-main-item.c
@@ -1142,8 +1142,6 @@ table_interface_get_column_description (AtkTable *table,
case 6:
g_snprintf (buffer,128,"Sunday");
break;
- default:
- break;
}
ea_cell_table_set_column_label (cell_data, in_col, buffer);
diff --git a/calendar/gui/ea-week-view.c b/calendar/gui/ea-week-view.c
index 24d6e8de83..4d77cda1e3 100644
--- a/calendar/gui/ea-week-view.c
+++ b/calendar/gui/ea-week-view.c
@@ -232,14 +232,9 @@ ea_week_view_get_n_children (AtkObject *accessible)
event = &g_array_index (week_view->events,
EWeekViewEvent, event_index);
- if (!event)
- continue;
span = &g_array_index (week_view->spans, EWeekViewEventSpan,
event->spans_index + 0);
- if (!span)
- continue;
-
/* at least one of the event spans is visible, count it */
if (span->text_item)
++count;
@@ -299,15 +294,9 @@ ea_week_view_ref_child (AtkObject *accessible,
event = &g_array_index (week_view->events,
EWeekViewEvent, event_index);
- if (!event)
- continue;
-
span = &g_array_index (week_view->spans, EWeekViewEventSpan,
event->spans_index + span_num);
- if (!span)
- continue;
-
current_day = span->start_day;
if (span->text_item)
++count;
diff --git a/calendar/gui/itip-utils.c b/calendar/gui/itip-utils.c
index d8cc740a3b..1a48a29ee4 100644
--- a/calendar/gui/itip-utils.c
+++ b/calendar/gui/itip-utils.c
@@ -634,6 +634,7 @@ comp_from (ECalComponentItipMethod method,
return sender;
if (!e_cal_component_has_attendees (comp))
return NULL;
+ /* coverity[fallthrough] */
case E_CAL_COMPONENT_METHOD_CANCEL:
@@ -1844,7 +1845,6 @@ reply_to_calendar_comp (ESourceRegistry *registry,
ECalComponent *comp = NULL;
icalcomponent *top_level = NULL;
icaltimezone *default_zone;
- GSList *users = NULL;
gchar *subject = NULL;
gchar *ical_string = NULL;
gboolean retval = FALSE;
@@ -1865,7 +1865,7 @@ reply_to_calendar_comp (ESourceRegistry *registry,
/* Recipients */
destinations = comp_to_list (
- registry, method, comp, users, reply_all, NULL);
+ registry, method, comp, NULL, reply_all, NULL);
/* Subject information */
subject = comp_subject (registry, method, comp);
@@ -2003,11 +2003,6 @@ reply_to_calendar_comp (ESourceRegistry *registry,
if (top_level != NULL)
icalcomponent_free (top_level);
- if (users) {
- g_slist_foreach (users, (GFunc) g_free, NULL);
- g_slist_free (users);
- }
-
g_free (subject);
g_free (ical_string);
return retval;
diff --git a/calendar/gui/print.c b/calendar/gui/print.c
index 13f195c2b7..c902a1c4e7 100644
--- a/calendar/gui/print.c
+++ b/calendar/gui/print.c
@@ -1654,8 +1654,10 @@ print_day_details (GtkPrintContext *context,
/* this ugly thing is here only to get rid of compiler warning
* about unused 'jump_xpm_focused' */
- if (pixbuf)
+ if (pixbuf) {
+ /* coverity[dead_error_line] */
xpm = (const gchar **) jump_xpm_focused;
+ }
pixbuf = gdk_pixbuf_new_from_xpm_data (xpm);
}
@@ -2003,11 +2005,6 @@ print_week_event (GtkPrintContext *context,
if (!pixbuf) {
const gchar **xpm = (const gchar **) jump_xpm;
- /* this ugly thing is here only to get rid of compiler warning
- * about unused 'jump_xpm_focused' */
- if (pixbuf)
- xpm = (const gchar **) jump_xpm_focused;
-
pixbuf = gdk_pixbuf_new_from_xpm_data (xpm);
}
@@ -2840,11 +2837,6 @@ print_work_week_day_details (GtkPrintContext *context,
if (!pixbuf) {
const gchar **xpm = (const gchar **) jump_xpm;
- /* this ugly thing is here only to get rid of compiler warning
- * about unused 'jump_xpm_focused' */
- if (pixbuf)
- xpm = (const gchar **) jump_xpm_focused;
-
pixbuf = gdk_pixbuf_new_from_xpm_data (xpm);
}
diff --git a/calendar/importers/icalendar-importer.c b/calendar/importers/icalendar-importer.c
index 2368643877..83fc9521c0 100644
--- a/calendar/importers/icalendar-importer.c
+++ b/calendar/importers/icalendar-importer.c
@@ -1004,34 +1004,28 @@ gnome_calendar_import (EImport *ei,
g_free (filename);
/* If we couldn't load the file, just return. FIXME: Error message? */
- if (!icalcomp)
- goto out;
-
- ici = g_malloc0 (sizeof (*ici));
- ici->ei = ei;
- ici->target = target;
- ici->cancellable = g_cancellable_new ();
- ici->icalcomp = icalcomp;
- icalcomp = NULL;
-
- g_datalist_set_data_full (&target->data, "gnomecal-data", ici, free_ici);
-
- prepare_events (ici->icalcomp, &ici->tasks);
- if (do_calendar) {
- open_default_source (ici, E_CAL_CLIENT_SOURCE_TYPE_EVENTS, gc_import_events);
- return;
- }
+ if (icalcomp) {
+ ici = g_malloc0 (sizeof (*ici));
+ ici->ei = ei;
+ ici->target = target;
+ ici->cancellable = g_cancellable_new ();
+ ici->icalcomp = icalcomp;
+
+ g_datalist_set_data_full (&target->data, "gnomecal-data", ici, free_ici);
+
+ prepare_events (ici->icalcomp, &ici->tasks);
+ if (do_calendar) {
+ open_default_source (ici, E_CAL_CLIENT_SOURCE_TYPE_EVENTS, gc_import_events);
+ return;
+ }
- prepare_tasks (ici->icalcomp, ici->tasks);
- if (do_tasks) {
- open_default_source (ici, E_CAL_CLIENT_SOURCE_TYPE_TASKS, gc_import_tasks);
- return;
+ prepare_tasks (ici->icalcomp, ici->tasks);
+ if (do_tasks) {
+ open_default_source (ici, E_CAL_CLIENT_SOURCE_TYPE_TASKS, gc_import_tasks);
+ return;
+ }
}
- out:
- if (icalcomp)
- icalcomponent_free (icalcomp);
-
e_import_complete (ei, target);
}
diff --git a/composer/e-msg-composer.c b/composer/e-msg-composer.c
index 9b721b0d4b..502f098d87 100644
--- a/composer/e-msg-composer.c
+++ b/composer/e-msg-composer.c
@@ -2142,7 +2142,7 @@ static gboolean
msg_composer_key_press_event (GtkWidget *widget,
GdkEventKey *event)
{
- EMsgComposer *composer = E_MSG_COMPOSER (widget);
+ EMsgComposer *composer;
GtkWidget *input_widget;
GtkhtmlEditor *editor;
EWebViewGtkHTML *web_view;
@@ -3140,88 +3140,82 @@ e_msg_composer_new_with_message (EShell *shell,
table, identity_uid);
}
- if (postto == NULL) {
- auto_cc = g_hash_table_new_full (
- (GHashFunc) camel_strcase_hash,
- (GEqualFunc) camel_strcase_equal,
- (GDestroyNotify) g_free,
- (GDestroyNotify) NULL);
-
- auto_bcc = g_hash_table_new_full (
- (GHashFunc) camel_strcase_hash,
- (GEqualFunc) camel_strcase_equal,
- (GDestroyNotify) g_free,
- (GDestroyNotify) NULL);
-
- if (source != NULL) {
- composer_add_auto_recipients (source, "cc", auto_cc);
- composer_add_auto_recipients (source, "bcc", auto_bcc);
- }
+ auto_cc = g_hash_table_new_full (
+ (GHashFunc) camel_strcase_hash,
+ (GEqualFunc) camel_strcase_equal,
+ (GDestroyNotify) g_free,
+ (GDestroyNotify) NULL);
+
+ auto_bcc = g_hash_table_new_full (
+ (GHashFunc) camel_strcase_hash,
+ (GEqualFunc) camel_strcase_equal,
+ (GDestroyNotify) g_free,
+ (GDestroyNotify) NULL);
- to = camel_mime_message_get_recipients (message, CAMEL_RECIPIENT_TYPE_TO);
- cc = camel_mime_message_get_recipients (message, CAMEL_RECIPIENT_TYPE_CC);
- bcc = camel_mime_message_get_recipients (message, CAMEL_RECIPIENT_TYPE_BCC);
+ if (source != NULL) {
+ composer_add_auto_recipients (source, "cc", auto_cc);
+ composer_add_auto_recipients (source, "bcc", auto_bcc);
+ }
- len = CAMEL_ADDRESS (to)->addresses->len;
- for (i = 0; i < len; i++) {
- const gchar *name, *addr;
+ to = camel_mime_message_get_recipients (message, CAMEL_RECIPIENT_TYPE_TO);
+ cc = camel_mime_message_get_recipients (message, CAMEL_RECIPIENT_TYPE_CC);
+ bcc = camel_mime_message_get_recipients (message, CAMEL_RECIPIENT_TYPE_BCC);
- if (camel_internet_address_get (to, i, &name, &addr)) {
- EDestination *dest = e_destination_new ();
- e_destination_set_name (dest, name);
- e_destination_set_email (dest, addr);
- To = g_list_append (To, dest);
- }
+ len = CAMEL_ADDRESS (to)->addresses->len;
+ for (i = 0; i < len; i++) {
+ const gchar *name, *addr;
+
+ if (camel_internet_address_get (to, i, &name, &addr)) {
+ EDestination *dest = e_destination_new ();
+ e_destination_set_name (dest, name);
+ e_destination_set_email (dest, addr);
+ To = g_list_append (To, dest);
}
+ }
- Tov = destination_list_to_vector (To);
- g_list_free (To);
+ Tov = destination_list_to_vector (To);
+ g_list_free (To);
- len = CAMEL_ADDRESS (cc)->addresses->len;
- for (i = 0; i < len; i++) {
- const gchar *name, *addr;
+ len = CAMEL_ADDRESS (cc)->addresses->len;
+ for (i = 0; i < len; i++) {
+ const gchar *name, *addr;
- if (camel_internet_address_get (cc, i, &name, &addr)) {
- EDestination *dest = e_destination_new ();
- e_destination_set_name (dest, name);
- e_destination_set_email (dest, addr);
+ if (camel_internet_address_get (cc, i, &name, &addr)) {
+ EDestination *dest = e_destination_new ();
+ e_destination_set_name (dest, name);
+ e_destination_set_email (dest, addr);
- if (g_hash_table_contains (auto_cc, addr))
- e_destination_set_auto_recipient (dest, TRUE);
+ if (g_hash_table_contains (auto_cc, addr))
+ e_destination_set_auto_recipient (dest, TRUE);
- Cc = g_list_append (Cc, dest);
- }
+ Cc = g_list_append (Cc, dest);
}
+ }
- Ccv = destination_list_to_vector (Cc);
- g_hash_table_destroy (auto_cc);
- g_list_free (Cc);
+ Ccv = destination_list_to_vector (Cc);
+ g_hash_table_destroy (auto_cc);
+ g_list_free (Cc);
- len = CAMEL_ADDRESS (bcc)->addresses->len;
- for (i = 0; i < len; i++) {
- const gchar *name, *addr;
+ len = CAMEL_ADDRESS (bcc)->addresses->len;
+ for (i = 0; i < len; i++) {
+ const gchar *name, *addr;
- if (camel_internet_address_get (bcc, i, &name, &addr)) {
- EDestination *dest = e_destination_new ();
- e_destination_set_name (dest, name);
- e_destination_set_email (dest, addr);
+ if (camel_internet_address_get (bcc, i, &name, &addr)) {
+ EDestination *dest = e_destination_new ();
+ e_destination_set_name (dest, name);
+ e_destination_set_email (dest, addr);
- if (g_hash_table_contains (auto_bcc, addr))
- e_destination_set_auto_recipient (dest, TRUE);
+ if (g_hash_table_contains (auto_bcc, addr))
+ e_destination_set_auto_recipient (dest, TRUE);
- Bcc = g_list_append (Bcc, dest);
- }
+ Bcc = g_list_append (Bcc, dest);
}
-
- Bccv = destination_list_to_vector (Bcc);
- g_hash_table_destroy (auto_bcc);
- g_list_free (Bcc);
- } else {
- Tov = NULL;
- Ccv = NULL;
- Bccv = NULL;
}
+ Bccv = destination_list_to_vector (Bcc);
+ g_hash_table_destroy (auto_bcc);
+ g_list_free (Bcc);
+
if (source != NULL)
g_object_unref (source);
diff --git a/e-util/e-attachment-store.c b/e-util/e-attachment-store.c
index 3720baf16b..c7128ec182 100644
--- a/e-util/e-attachment-store.c
+++ b/e-util/e-attachment-store.c
@@ -824,8 +824,10 @@ e_attachment_store_get_uris_finish (EAttachmentStore *store,
g_return_val_if_fail (G_IS_SIMPLE_ASYNC_RESULT (result), NULL);
simple = G_SIMPLE_ASYNC_RESULT (result);
+ if (g_simple_async_result_propagate_error (simple, error))
+ return NULL;
+
uris = g_simple_async_result_get_op_res_gpointer (simple);
- g_simple_async_result_propagate_error (simple, error);
return uris;
}
@@ -982,8 +984,8 @@ e_attachment_store_load_finish (EAttachmentStore *store,
g_return_val_if_fail (G_IS_SIMPLE_ASYNC_RESULT (result), FALSE);
simple = G_SIMPLE_ASYNC_RESULT (result);
- success = g_simple_async_result_get_op_res_gboolean (simple);
- g_simple_async_result_propagate_error (simple, error);
+ success = !g_simple_async_result_propagate_error (simple, error) &&
+ g_simple_async_result_get_op_res_gboolean (simple);
return success;
}
@@ -1332,8 +1334,10 @@ e_attachment_store_save_finish (EAttachmentStore *store,
g_return_val_if_fail (G_IS_SIMPLE_ASYNC_RESULT (result), NULL);
simple = G_SIMPLE_ASYNC_RESULT (result);
+ if (g_simple_async_result_propagate_error (simple, error))
+ return NULL;
+
uris = g_simple_async_result_get_op_res_gpointer (simple);
- g_simple_async_result_propagate_error (simple, error);
return uris;
}
diff --git a/e-util/e-attachment.c b/e-util/e-attachment.c
index e2b64ab92b..42d5e93caf 100644
--- a/e-util/e-attachment.c
+++ b/e-util/e-attachment.c
@@ -2191,6 +2191,11 @@ e_attachment_load_finish (EAttachment *attachment,
g_return_val_if_fail (G_IS_SIMPLE_ASYNC_RESULT (result), FALSE);
simple = G_SIMPLE_ASYNC_RESULT (result);
+ if (g_simple_async_result_propagate_error (simple, error)) {
+ attachment_set_loading (attachment, FALSE);
+ return FALSE;
+ }
+
load_context = g_simple_async_result_get_op_res_gpointer (simple);
if (load_context != NULL && load_context->mime_part != NULL) {
@@ -2206,8 +2211,6 @@ e_attachment_load_finish (EAttachment *attachment,
attachment, load_context->mime_part);
}
- g_simple_async_result_propagate_error (simple, error);
-
attachment_set_loading (attachment, FALSE);
return (load_context != NULL);
@@ -2529,8 +2532,8 @@ e_attachment_open_finish (EAttachment *attachment,
g_return_val_if_fail (G_IS_SIMPLE_ASYNC_RESULT (result), FALSE);
simple = G_SIMPLE_ASYNC_RESULT (result);
- success = g_simple_async_result_get_op_res_gboolean (simple);
- g_simple_async_result_propagate_error (simple, error);
+ success = !g_simple_async_result_propagate_error (simple, error) &&
+ g_simple_async_result_get_op_res_gboolean (simple);
return success;
}
@@ -3066,10 +3069,14 @@ e_attachment_save_finish (EAttachment *attachment,
g_return_val_if_fail (G_IS_SIMPLE_ASYNC_RESULT (result), NULL);
simple = G_SIMPLE_ASYNC_RESULT (result);
+ if (g_simple_async_result_propagate_error (simple, error)) {
+ attachment_set_saving (attachment, FALSE);
+ return NULL;
+ }
+
destination = g_simple_async_result_get_op_res_gpointer (simple);
if (destination != NULL)
g_object_ref (destination);
- g_simple_async_result_propagate_error (simple, error);
attachment_set_saving (attachment, FALSE);
diff --git a/e-util/e-canvas-background.c b/e-util/e-canvas-background.c
index 6379697719..0c5c28a282 100644
--- a/e-util/e-canvas-background.c
+++ b/e-util/e-canvas-background.c
@@ -121,13 +121,13 @@ ecb_set_property (GObject *object,
switch (property_id) {
case PROP_FILL_COLOR:
- if (g_value_get_string (value))
- gdk_color_parse (g_value_get_string (value), &color);
-
- ecb->priv->rgba = ((color.red & 0xff00) << 16 |
- (color.green & 0xff00) << 8 |
- (color.blue & 0xff00) |
- 0xff);
+ if (g_value_get_string (value) &&
+ gdk_color_parse (g_value_get_string (value), &color)) {
+ ecb->priv->rgba = ((color.red & 0xff00) << 16 |
+ (color.green & 0xff00) << 8 |
+ (color.blue & 0xff00) |
+ 0xff);
+ }
break;
case PROP_FILL_COLOR_GDK:
diff --git a/e-util/e-canvas.c b/e-util/e-canvas.c
index 93304065e3..2bac10fac6 100644
--- a/e-util/e-canvas.c
+++ b/e-util/e-canvas.c
@@ -678,14 +678,12 @@ e_canvas_item_grab_focus (GnomeCanvasItem *item,
gtk_widget_grab_focus (GTK_WIDGET (item->canvas));
}
- if (item) {
- ev.focus_change.type = GDK_FOCUS_CHANGE;
- ev.focus_change.window = bin_window;
- ev.focus_change.send_event = FALSE;
- ev.focus_change.in = TRUE;
+ ev.focus_change.type = GDK_FOCUS_CHANGE;
+ ev.focus_change.window = bin_window;
+ ev.focus_change.send_event = FALSE;
+ ev.focus_change.in = TRUE;
- canvas_emit_event (item->canvas, &ev);
- }
+ canvas_emit_event (item->canvas, &ev);
}
static void
diff --git a/e-util/e-cell-text.c b/e-util/e-cell-text.c
index 6026185e9a..d7e38ebe9c 100644
--- a/e-util/e-cell-text.c
+++ b/e-util/e-cell-text.c
@@ -467,7 +467,7 @@ layout_with_preedit (ECellTextView *text_view,
edit->im_context,
&preedit_string,&preedit_attrs,
NULL);
- preedit_length = edit->preedit_length = strlen (preedit_string);;
+ preedit_length = edit->preedit_length = preedit_string ? strlen (preedit_string) : 0;
layout = edit->layout;
@@ -2237,12 +2237,10 @@ _get_position (ECellTextView *text_view,
case E_TEP_BACKWARD_PAGE:
return edit->selection_end;
default:
- return edit->selection_end;
+ break;
}
- g_return_val_if_reached (0);
-
- return 0; /* Kill warning */
+ return edit->selection_end;
}
static void
diff --git a/e-util/e-filter-color.c b/e-util/e-filter-color.c
index 213530fbb2..63c27b7079 100644
--- a/e-util/e-filter-color.c
+++ b/e-util/e-filter-color.c
@@ -84,7 +84,8 @@ filter_color_xml_decode (EFilterElement *element,
prop = xmlGetProp (node, (xmlChar *)"spec");
if (prop != NULL) {
- gdk_color_parse ((gchar *) prop, &fc->color);
+ if (!gdk_color_parse ((gchar *) prop, &fc->color))
+ g_warning ("%s: Failed to parse color from string '%s'", G_STRFUNC, prop);
xmlFree (prop);
} else {
/* try reading the old RGB properties */
diff --git a/e-util/e-filter-rule.c b/e-util/e-filter-rule.c
index 8dc9a17a8a..842cf63061 100644
--- a/e-util/e-filter-rule.c
+++ b/e-util/e-filter-rule.c
@@ -100,7 +100,11 @@ part_combobox_changed (GtkComboBox *combobox,
/* traverse until reached index */
}
- g_return_if_fail (part != NULL);
+ if (!part) {
+ g_warn_if_reached ();
+ return;
+ }
+
g_return_if_fail (i == index);
/* dont update if we haven't changed */
diff --git a/e-util/e-misc-utils.c b/e-util/e-misc-utils.c
index 1ae9301aa3..1e9cd1d0c1 100644
--- a/e-util/e-misc-utils.c
+++ b/e-util/e-misc-utils.c
@@ -1232,6 +1232,7 @@ e_format_number (gint number)
default:
last_count = *grouping;
grouping++;
+ /* coverity[fallthrough] */
case 0:
divider = epow10 (last_count);
if (number >= divider) {
diff --git a/e-util/e-name-selector-list.c b/e-util/e-name-selector-list.c
index 52516a5621..8e51e41667 100644
--- a/e-util/e-name-selector-list.c
+++ b/e-util/e-name-selector-list.c
@@ -465,8 +465,9 @@ enl_tree_button_press_event (GtkWidget *widget,
if (!gtk_widget_has_grab (GTK_WIDGET (list->priv->popup)))
enl_popup_grab (list, (GdkEvent *) event);
- gtk_tree_view_get_dest_row_at_pos (
- tree_view, event->x, event->y, &path, NULL);
+ if (!gtk_tree_view_get_dest_row_at_pos (
+ tree_view, event->x, event->y, &path, NULL))
+ return FALSE;
selection = gtk_tree_view_get_selection (tree_view);
if (!gtk_tree_model_get_iter (GTK_TREE_MODEL (store), &iter, path))
return FALSE;
diff --git a/e-util/e-send-options.c b/e-util/e-send-options.c
index f586f36f66..c105571f1c 100644
--- a/e-util/e-send-options.c
+++ b/e-util/e-send-options.c
@@ -573,6 +573,7 @@ setup_widgets (ESendOptionsDialog *sod,
priv->help_section = g_strdup ("groupwise-placeholder");
gtk_widget_hide (priv->completed_label);
gtk_widget_hide (priv->when_completed);
+ break;
case E_ITEM_TASK:
priv->help_section = g_strdup ("groupwise-placeholder");
gtk_widget_hide (priv->security_label);
@@ -636,6 +637,7 @@ e_send_options_cb (GtkDialog *dialog,
switch (state) {
case GTK_RESPONSE_OK:
e_send_options_get_widgets_data (sod);
+ /* coverity[fallthrough] */
case GTK_RESPONSE_CANCEL:
gtk_widget_hide (priv->main);
gtk_widget_destroy (priv->main);
diff --git a/e-util/e-stock-request.c b/e-util/e-stock-request.c
index 0ce7d8c254..b8cb21ba87 100644
--- a/e-util/e-stock-request.c
+++ b/e-util/e-stock-request.c
@@ -107,8 +107,11 @@ handle_stock_request_idle_cb (gpointer user_data)
filename = gtk_icon_info_get_filename (icon_info);
if (filename != NULL) {
- g_file_get_contents (
- filename, &buffer, &buff_len, &local_error);
+ if (!g_file_get_contents (
+ filename, &buffer, &buff_len, &local_error)) {
+ buffer = NULL;
+ buff_len = 0;
+ }
priv->content_type =
g_content_type_guess (filename, NULL, 0, NULL);
diff --git a/e-util/e-table-click-to-add.c b/e-util/e-table-click-to-add.c
index d5202f7a03..c9abf037c5 100644
--- a/e-util/e-table-click-to-add.c
+++ b/e-util/e-table-click-to-add.c
@@ -437,6 +437,7 @@ etcta_event (GnomeCanvasItem *item,
case GDK_FOCUS_CHANGE:
if (!e->focus_change.in)
return TRUE;
+ /* coverity[fallthrough] */
case GDK_BUTTON_PRESS:
if (etcta->text) {
diff --git a/e-util/e-table-config.c b/e-util/e-table-config.c
index 5fbb6b0329..8c5fecd90a 100644
--- a/e-util/e-table-config.c
+++ b/e-util/e-table-config.c
@@ -231,7 +231,7 @@ static ETableColumnSpecification *
find_column_spec_by_name (ETableSpecification *spec,
const gchar *s)
{
- ETableColumnSpecification *column;
+ ETableColumnSpecification *column = NULL;
GPtrArray *array;
guint ii;
diff --git a/e-util/e-table-group-container.c b/e-util/e-table-group-container.c
index d828ddec3e..426c544a63 100644
--- a/e-util/e-table-group-container.c
+++ b/e-util/e-table-group-container.c
@@ -1453,7 +1453,7 @@ e_table_group_container_print_page (EPrintable *ep,
break;
}
- child = child->next;
+ child = child ? child->next : NULL;
if (!child) {
child_printable = NULL;
break;
diff --git a/e-util/e-table-header-item.c b/e-util/e-table-header-item.c
index 06d003007b..556c8a2e35 100644
--- a/e-util/e-table-header-item.c
+++ b/e-util/e-table-header-item.c
@@ -1222,7 +1222,7 @@ static void
ethi_start_drag (ETableHeaderItem *ethi,
GdkEvent *event)
{
- GtkWidget *widget = GTK_WIDGET (GNOME_CANVAS_ITEM (ethi)->canvas);
+ GtkWidget *widget;
GtkTargetList *list;
GdkDragContext *context;
ETableCol *ecol;
diff --git a/e-util/e-table-header-utils.c b/e-util/e-table-header-utils.c
index 66efb01d30..5baf7f1a37 100644
--- a/e-util/e-table-header-utils.c
+++ b/e-util/e-table-header-utils.c
@@ -272,6 +272,7 @@ e_table_header_draw_button (cairo_t *cr,
break;
}
+ /* coverity[dead_error_begin] */
default:
cairo_restore (cr);
g_return_if_reached ();
diff --git a/e-util/e-table-item.c b/e-util/e-table-item.c
index 3f88d8cb7e..1a1956fdcc 100644
--- a/e-util/e-table-item.c
+++ b/e-util/e-table-item.c
@@ -3076,9 +3076,12 @@ eti_event (GnomeCanvasItem *item,
e_table_item_leave_edit_(eti);
}
}
+ return_val = FALSE;
+ break;
default:
return_val = FALSE;
+ break;
}
/* d(g_print("%s: returning: %s\n", __FUNCTION__, return_val?"true":"false"));*/
@@ -3601,9 +3604,11 @@ e_table_item_enter_edit (ETableItem *eti,
eti->editing_col = col;
eti->editing_row = row;
- eti->edit_ctx = e_cell_enter_edit (eti->cell_views[col], view_to_model_col (eti, col), col, row);
+ if (col >= 0) {
+ eti->edit_ctx = e_cell_enter_edit (eti->cell_views[col], view_to_model_col (eti, col), col, row);
- g_object_notify (G_OBJECT (eti), "is-editing");
+ g_object_notify (G_OBJECT (eti), "is-editing");
+ }
}
/**
diff --git a/e-util/e-text.c b/e-util/e-text.c
index d13b4a637e..3fda17268d 100644
--- a/e-util/e-text.c
+++ b/e-util/e-text.c
@@ -726,8 +726,11 @@ e_text_set_property (GObject *object,
break;
case PROP_FILL_COLOR:
- if (g_value_get_string (value))
- gdk_color_parse (g_value_get_string (value), &color);
+ if (g_value_get_string (value) &&
+ !gdk_color_parse (g_value_get_string (value), &color)) {
+ g_warning ("%s: Failed to parse color '%s'", G_STRFUNC, g_value_get_string (value));
+ break;
+ }
text->rgba = ((color.red & 0xff00) << 16 |
(color.green & 0xff00) << 8 |
@@ -1275,7 +1278,7 @@ e_text_draw (GnomeCanvasItem *item,
if (text->editing) {
if (text->selection_start != text->selection_end) {
- cairo_region_t *clip_region = cairo_region_create ();
+ cairo_region_t *clip_region;
gint indices[2];
GtkStateType state;
diff --git a/e-util/gal-a11y-e-cell-tree.c b/e-util/gal-a11y-e-cell-tree.c
index e0757f5300..07d6ac331b 100644
--- a/e-util/gal-a11y-e-cell-tree.c
+++ b/e-util/gal-a11y-e-cell-tree.c
@@ -191,15 +191,14 @@ gal_a11y_e_cell_tree_new (ETableItem *item,
{
AtkObject *subcell_a11y;
GalA11yECellTree *a11y;
-
ETreePath node;
ETreeModel *tree_model;
ETreeTableAdapter *tree_table_adapter;
-
ECellView *subcell_view;
+
subcell_view = e_cell_tree_view_get_subcell_view (cell_view);
- if (subcell_view->ecell) {
+ if (subcell_view && subcell_view->ecell) {
subcell_a11y = gal_a11y_e_cell_registry_get_object (
NULL,
item,
@@ -233,8 +232,7 @@ gal_a11y_e_cell_tree_new (ETableItem *item,
if (e_tree_table_adapter_node_is_expanded (tree_table_adapter, node))
gal_a11y_e_cell_add_state (GAL_A11Y_E_CELL (subcell_a11y), ATK_STATE_EXPANDED, FALSE);
}
- }
- else
+ } else
subcell_a11y = NULL;
/* create a companion a11y object, this object has type GalA11yECellTree
diff --git a/e-util/gal-a11y-e-cell.c b/e-util/gal-a11y-e-cell.c
index 9f16b34fd9..b05f38d750 100644
--- a/e-util/gal-a11y-e-cell.c
+++ b/e-util/gal-a11y-e-cell.c
@@ -359,7 +359,10 @@ gal_a11y_e_cell_remove_action_by_name (GalA11yECell *cell,
}
}
- g_return_val_if_fail (list_node != NULL, FALSE);
+ if (!list_node) {
+ g_warn_if_reached ();
+ return FALSE;
+ }
_gal_a11y_e_cell_destroy_action_info (list_node->data, NULL);
cell->action_list = g_list_remove_link (cell->action_list, list_node);
diff --git a/e-util/gal-a11y-e-table-item.c b/e-util/gal-a11y-e-table-item.c
index 51bce1725b..c3bbded403 100644
--- a/e-util/gal-a11y-e-table-item.c
+++ b/e-util/gal-a11y-e-table-item.c
@@ -1141,41 +1141,38 @@ gal_a11y_e_table_item_new (ETableItem *item)
if (GET_PRIVATE (a11y)->columns == NULL)
return NULL;
- if (item) {
- g_signal_connect (
- item, "selection_model_removed",
- G_CALLBACK (eti_a11y_selection_model_removed_cb), NULL);
+ g_signal_connect (
+ item, "selection_model_removed",
+ G_CALLBACK (eti_a11y_selection_model_removed_cb), NULL);
+ g_signal_connect (
+ item, "selection_model_added",
+ G_CALLBACK (eti_a11y_selection_model_added_cb), NULL);
+ if (item->selection)
+ gal_a11y_e_table_item_ref_selection (
+ a11y,
+ item->selection);
+
+ /* find the TableItem's parent: table or tree */
+ GET_PRIVATE (a11y)->widget = gtk_widget_get_parent (
+ GTK_WIDGET (item->parent.canvas));
+ parent = gtk_widget_get_accessible (GET_PRIVATE (a11y)->widget);
+ name = atk_object_get_name (parent);
+ if (name)
+ atk_object_set_name (accessible, name);
+ atk_object_set_parent (accessible, parent);
+
+ if (E_IS_TREE (GET_PRIVATE (a11y)->widget)) {
+ ETreeModel *model;
+ model = e_tree_get_model (E_TREE (GET_PRIVATE (a11y)->widget));
g_signal_connect (
- item, "selection_model_added",
- G_CALLBACK (eti_a11y_selection_model_added_cb), NULL);
- if (item->selection)
- gal_a11y_e_table_item_ref_selection (
- a11y,
- item->selection);
-
- /* find the TableItem's parent: table or tree */
- GET_PRIVATE (a11y)->widget = gtk_widget_get_parent (
- GTK_WIDGET (item->parent.canvas));
- parent = gtk_widget_get_accessible (GET_PRIVATE (a11y)->widget);
- name = atk_object_get_name (parent);
- if (name)
- atk_object_set_name (accessible, name);
- atk_object_set_parent (accessible, parent);
-
- if (E_IS_TREE (GET_PRIVATE (a11y)->widget)) {
- ETreeModel *model;
- model = e_tree_get_model (E_TREE (GET_PRIVATE (a11y)->widget));
- g_signal_connect (
- model, "node_changed",
- G_CALLBACK (eti_tree_model_node_changed_cb), item);
- accessible->role = ATK_ROLE_TREE_TABLE;
- } else if (E_IS_TABLE (GET_PRIVATE (a11y)->widget)) {
- accessible->role = ATK_ROLE_TABLE;
- }
+ model, "node_changed",
+ G_CALLBACK (eti_tree_model_node_changed_cb), item);
+ accessible->role = ATK_ROLE_TREE_TABLE;
+ } else if (E_IS_TABLE (GET_PRIVATE (a11y)->widget)) {
+ accessible->role = ATK_ROLE_TABLE;
}
- if (item)
- g_object_weak_ref (G_OBJECT (item), item_finalized, g_object_ref (a11y));
+ g_object_weak_ref (G_OBJECT (item), item_finalized, g_object_ref (a11y));
esm = item->selection;
diff --git a/e-util/test-calendar.c b/e-util/test-calendar.c
index 9d36e9027a..790b710104 100644
--- a/e-util/test-calendar.c
+++ b/e-util/test-calendar.c
@@ -108,10 +108,13 @@ on_date_range_changed (ECalendarItem *calitem)
gint start_year, start_month, start_day;
gint end_year, end_month, end_day;
- e_calendar_item_get_date_range (
+ if (!e_calendar_item_get_date_range (
calitem,
&start_year, &start_month, &start_day,
- &end_year, &end_month, &end_day);
+ &end_year, &end_month, &end_day)) {
+ g_warning ("%s: Failed to get date range", G_STRFUNC);
+ return;
+ }
g_print (
"Date range changed (D/M/Y): %i/%i/%i - %i/%i/%i\n",
diff --git a/em-format/e-mail-formatter-headers.c b/em-format/e-mail-formatter-headers.c
index 9d7a5120ad..28d2322e9b 100644
--- a/em-format/e-mail-formatter-headers.c
+++ b/em-format/e-mail-formatter-headers.c
@@ -58,8 +58,6 @@ format_short_headers (EMailFormatter *formatter,
{
CamelMimePart *mime_part;
GtkTextDirection direction;
- const gchar *charset;
- CamelContentType *ct;
gchar *hdr_charset;
gchar *evolution_imagesdir;
gchar *subject = NULL;
@@ -73,9 +71,6 @@ format_short_headers (EMailFormatter *formatter,
mime_part = e_mail_part_ref_mime_part (part);
direction = gtk_widget_get_default_direction ();
- ct = camel_mime_part_get_content_type (mime_part);
- charset = camel_content_type_param (ct, "charset");
- charset = camel_iconv_charset_name (charset);
hdr_charset = e_mail_formatter_dup_charset (formatter);
if (!hdr_charset)
hdr_charset = e_mail_formatter_dup_default_charset (formatter);
diff --git a/em-format/e-mail-formatter-quote-attachment.c b/em-format/e-mail-formatter-quote-attachment.c
index 1a6b19408c..81a2a15c10 100644
--- a/em-format/e-mail-formatter-quote-attachment.c
+++ b/em-format/e-mail-formatter-quote-attachment.c
@@ -63,7 +63,7 @@ emfqe_attachment_format (EMailFormatterExtension *extension,
empa = E_MAIL_PART_ATTACHMENT (part);
- if (!empa->attachment_view_part_id)
+ if (!empa || !empa->attachment_view_part_id)
return FALSE;
attachment_view_part = e_mail_part_list_ref_part (
@@ -78,7 +78,8 @@ emfqe_attachment_format (EMailFormatterExtension *extension,
mime_part = e_mail_part_ref_mime_part (part);
text = e_mail_part_describe (
mime_part,
- empa ? empa->snoop_mime_type :
+ empa->snoop_mime_type && *empa->snoop_mime_type ?
+ empa->snoop_mime_type :
e_mail_part_get_mime_type (part));
g_object_unref (mime_part);
diff --git a/em-format/e-mail-formatter-text-html.c b/em-format/e-mail-formatter-text-html.c
index 17632fa03f..1065474a33 100644
--- a/em-format/e-mail-formatter-text-html.c
+++ b/em-format/e-mail-formatter-text-html.c
@@ -191,12 +191,10 @@ emfe_text_html_format (EMailFormatterExtension *extension,
closing = g_utf8_strchr (pos, -1, '>');
/* Find where the actual tag name begins */
- tag = g_utf8_find_next_char (pos, NULL);
- while ((tag = g_utf8_find_next_char (pos, NULL)) != NULL) {
+ while (tag = g_utf8_find_next_char (pos, NULL), tag != NULL) {
gunichar c = g_utf8_get_char (tag);
if (!g_unichar_isspace (c))
break;
-
}
if (g_ascii_strncasecmp (tag, "style", 5) == 0) {
diff --git a/libemail-engine/e-mail-session.c b/libemail-engine/e-mail-session.c
index 38eae7791d..23ed2ce4de 100644
--- a/libemail-engine/e-mail-session.c
+++ b/libemail-engine/e-mail-session.c
@@ -190,7 +190,7 @@ user_message_response_cb (GObject *source,
}
/* waiting for a response? */
- if (m && m->button_captions)
+ if (m->button_captions)
e_flag_set (m->done);
/* check for pendings */
diff --git a/libemail-engine/e-mail-utils.c b/libemail-engine/e-mail-utils.c
index d4bb9b5050..9610da7419 100644
--- a/libemail-engine/e-mail-utils.c
+++ b/libemail-engine/e-mail-utils.c
@@ -86,8 +86,6 @@ em_utils_folder_is_drafts (ESourceRegistry *registry,
folder_uri = e_mail_folder_uri_from_folder (folder);
- store = camel_folder_get_parent_store (folder);
-
extension_name = E_SOURCE_EXTENSION_MAIL_COMPOSITION;
list = e_source_registry_list_sources (registry, extension_name);
@@ -157,8 +155,6 @@ em_utils_folder_is_templates (ESourceRegistry *registry,
folder_uri = e_mail_folder_uri_from_folder (folder);
- store = camel_folder_get_parent_store (folder);
-
extension_name = E_SOURCE_EXTENSION_MAIL_COMPOSITION;
list = e_source_registry_list_sources (registry, extension_name);
@@ -227,8 +223,6 @@ em_utils_folder_is_sent (ESourceRegistry *registry,
folder_uri = e_mail_folder_uri_from_folder (folder);
- store = camel_folder_get_parent_store (folder);
-
extension_name = E_SOURCE_EXTENSION_MAIL_SUBMISSION;
list = e_source_registry_list_sources (registry, extension_name);
diff --git a/libemail-engine/mail-folder-cache.c b/libemail-engine/mail-folder-cache.c
index e54cdbb09c..672447c57e 100644
--- a/libemail-engine/mail-folder-cache.c
+++ b/libemail-engine/mail-folder-cache.c
@@ -32,6 +32,7 @@
#include <config.h>
#endif
+#include <errno.h>
#include <string.h>
#include <time.h>
@@ -1152,12 +1153,18 @@ rename_folders (MailFolderCache *cache,
e_filename_make_safe (newuri);
oldfile = g_strdup_printf ("%s/custom_view-%s.xml", config_dir, olduri);
newfile = g_strdup_printf ("%s/custom_view-%s.xml", config_dir, newuri);
- g_rename (oldfile, newfile);
+ if (g_rename (oldfile, newfile) == -1) {
+ g_warning ("%s: Failed to rename '%s' to '%s': %s", G_STRFUNC,
+ oldfile, newfile, g_strerror (errno));
+ }
g_free (oldfile);
g_free (newfile);
oldfile = g_strdup_printf ("%s/current_view-%s.xml", config_dir, olduri);
newfile = g_strdup_printf ("%s/current_view-%s.xml", config_dir, newuri);
- g_rename (oldfile, newfile);
+ if (g_rename (oldfile, newfile) == -1) {
+ g_warning ("%s: Failed to rename '%s' to '%s': %s", G_STRFUNC,
+ oldfile, newfile, g_strerror (errno));
+ }
g_free (oldfile);
g_free (newfile);
g_free (olduri);
diff --git a/libemail-engine/mail-mt.c b/libemail-engine/mail-mt.c
index 19ed41b0dc..96f8e7267f 100644
--- a/libemail-engine/mail-mt.c
+++ b/libemail-engine/mail-mt.c
@@ -655,6 +655,8 @@ mail_call_main (mail_call_t type,
ret = m->ret;
mail_msg_unref (m);
+ /* the m->ap is freed on the message end, at do_free() above */
+ /* coverity[missing_va_end] */
return ret;
}
diff --git a/libgnomecanvas/gnome-canvas-text.c b/libgnomecanvas/gnome-canvas-text.c
index 89d8078702..eddc87ebf4 100644
--- a/libgnomecanvas/gnome-canvas-text.c
+++ b/libgnomecanvas/gnome-canvas-text.c
@@ -935,12 +935,15 @@ gnome_canvas_text_set_property (GObject *object,
color_name = g_value_get_string (value);
if (color_name) {
GdkColor color;
- gdk_color_parse (color_name, &color);
-
- text->rgba = ((color.red & 0xff00) << 16 |
- (color.green & 0xff00) << 8 |
- (color.blue & 0xff00) |
- 0xff);
+ if (gdk_color_parse (color_name, &color)) {
+ text->rgba = ((color.red & 0xff00) << 16 |
+ (color.green & 0xff00) << 8 |
+ (color.blue & 0xff00) |
+ 0xff);
+ } else {
+ g_warning ("%s: Failed to parse color form string '%s'",
+ G_STRFUNC, color_name);
+ }
}
break;
}
diff --git a/mail/e-http-request.c b/mail/e-http-request.c
index 5a2601c0e3..c12fd76ca1 100644
--- a/mail/e-http-request.c
+++ b/mail/e-http-request.c
@@ -197,12 +197,12 @@ handle_http_request (GSimpleAsyncResult *res,
evo_uri = soup_uri_to_string (soup_uri, FALSE);
if (camel_debug_start ("emformat:requests")) {
- printf ("%s: looking for '%s'\n", G_STRFUNC, evo_uri);
+ printf ("%s: looking for '%s'\n", G_STRFUNC, evo_uri ? evo_uri : "[null]");
camel_debug_end ();
}
/* Remove the "evo-" prefix from scheme */
- uri_len = strlen (evo_uri);
+ uri_len = evo_uri ? strlen (evo_uri) : 0;
uri = NULL;
if (evo_uri && (uri_len > 5)) {
diff --git a/mail/e-mail-backend.c b/mail/e-mail-backend.c
index bc30ad1d94..54e2ccbec7 100644
--- a/mail/e-mail-backend.c
+++ b/mail/e-mail-backend.c
@@ -28,6 +28,7 @@
#include "e-mail-backend.h"
+#include <errno.h>
#include <string.h>
#include <glib/gstdio.h>
#include <glib/gi18n-lib.h>
@@ -638,7 +639,10 @@ mail_backend_folder_renamed_cb (MailFolderCache *folder_cache,
newname = mail_backend_uri_to_evname (new_uri, cachenames[ii]);
/* Ignore errors; doesn't matter. */
- g_rename (oldname, newname);
+ if (g_rename (oldname, newname) == -1) {
+ g_warning ("%s: Failed to rename '%s' to '%s': %s", G_STRFUNC,
+ oldname, newname, g_strerror (errno));
+ }
g_free (oldname);
g_free (newname);
diff --git a/mail/e-mail-config-page.c b/mail/e-mail-config-page.c
index 54c71b1c0c..36f8c08835 100644
--- a/mail/e-mail-config-page.c
+++ b/mail/e-mail-config-page.c
@@ -191,6 +191,7 @@ e_mail_config_page_compare (GtkWidget *page_a,
if (interface_a == NULL && interface_b != NULL)
return 1;
+ /* coverity[var_deref_op] */
if (interface_a->sort_order < interface_b->sort_order)
return -1;
diff --git a/mail/e-mail-migrate.c b/mail/e-mail-migrate.c
index e982b402ed..6a97b7342f 100644
--- a/mail/e-mail-migrate.c
+++ b/mail/e-mail-migrate.c
@@ -149,7 +149,9 @@ cp (const gchar *src,
ut.actime = st.st_atime;
ut.modtime = st.st_mtime;
utime (dest, &ut);
- chmod (dest, st.st_mode);
+ if (chmod (dest, st.st_mode) == -1) {
+ g_warning ("%s: Failed to chmod '%s': %s", G_STRFUNC, dest, g_strerror (errno));
+ }
return TRUE;
@@ -264,7 +266,10 @@ em_rename_view_in_folder (gpointer data,
oldname = g_build_filename (views_dir, filename, NULL);
newname = g_build_filename (views_dir, newfile, NULL);
- g_rename (oldname, newname);
+ if (g_rename (oldname, newname) == -1) {
+ g_warning ("%s: Failed to rename '%s' to '%s': %s", G_STRFUNC,
+ oldname, newname, g_strerror (errno));
+ }
g_checksum_free (checksum);
g_free (oldname);
diff --git a/mail/e-mail-reader-utils.c b/mail/e-mail-reader-utils.c
index 78f442d806..99a86a1f12 100644
--- a/mail/e-mail-reader-utils.c
+++ b/mail/e-mail-reader-utils.c
@@ -553,6 +553,9 @@ mail_reader_refresh_folder_cb (GObject *source_object,
GError *local_error = NULL;
folder = CAMEL_FOLDER (source_object);
+ if (!camel_folder_refresh_info_finish (folder, result, &local_error) && !local_error)
+ local_error = g_error_new_literal (CAMEL_ERROR, CAMEL_ERROR_GENERIC, _("Unknown error"));
+
async_context = (AsyncContext *) user_data;
activity = async_context->activity;
diff --git a/mail/e-mail-reader.c b/mail/e-mail-reader.c
index 9fbed51270..63ab511b0e 100644
--- a/mail/e-mail-reader.c
+++ b/mail/e-mail-reader.c
@@ -2943,7 +2943,6 @@ mail_reader_set_folder (EMailReader *reader,
priv = E_MAIL_READER_GET_PRIVATE (reader);
- backend = e_mail_reader_get_backend (reader);
display = e_mail_reader_get_mail_display (reader);
message_list = e_mail_reader_get_message_list (reader);
diff --git a/mail/em-composer-utils.c b/mail/em-composer-utils.c
index 62405fdb5b..1b608906be 100644
--- a/mail/em-composer-utils.c
+++ b/mail/em-composer-utils.c
@@ -468,9 +468,10 @@ composer_presend_check_unwanted_html (EMsgComposer *composer,
gboolean html_problem = FALSE;
for (ii = 0; recipients[ii] != NULL; ii++) {
- if (!e_destination_get_html_mail_pref (recipients[ii]))
+ if (!e_destination_get_html_mail_pref (recipients[ii])) {
html_problem = TRUE;
break;
+ }
}
if (html_problem) {
@@ -2882,14 +2883,13 @@ em_utils_construct_composer_text (CamelSession *session,
EMailPartList *parts_list)
{
gchar *text, *credits;
- gboolean start_bottom = 0;
g_return_val_if_fail (CAMEL_IS_SESSION (session), NULL);
credits = attribution_format (message);
text = em_utils_message_to_html (
session, message, credits, E_MAIL_FORMATTER_QUOTE_FLAG_CITE,
- parts_list, start_bottom ? "<BR>" : NULL, NULL);
+ parts_list, NULL, NULL);
g_free (credits);
return text;
diff --git a/mail/em-filter-rule.c b/mail/em-filter-rule.c
index 595bef8bfe..8bd1f6d332 100644
--- a/mail/em-filter-rule.c
+++ b/mail/em-filter-rule.c
@@ -310,7 +310,10 @@ part_combobox_changed (GtkComboBox *combobox,
/* traverse until reached index */
}
- g_return_if_fail (part != NULL);
+ if (!part) {
+ g_warn_if_reached ();
+ return;
+ }
g_return_if_fail (i == index);
/* dont update if we haven't changed */
diff --git a/mail/em-folder-properties.c b/mail/em-folder-properties.c
index d0ec478dd5..e7342b7869 100644
--- a/mail/em-folder-properties.c
+++ b/mail/em-folder-properties.c
@@ -148,6 +148,18 @@ emfp_get_folder_item (EConfig *ec,
guint ii, n_properties;
gint row = 0;
gboolean can_apply_filters = FALSE;
+ CamelStore *store;
+ CamelSession *session;
+ CamelFolderInfoFlags fi_flags = 0;
+ const gchar *folder_name;
+ MailFolderCache *folder_cache;
+ gboolean have_flags;
+ ESourceRegistry *registry;
+ EShell *shell;
+ EMailBackend *mail_backend;
+ EMailSendAccountOverride *account_override;
+ gchar *folder_uri, *account_uid;
+ GtkWidget *label;
if (old)
return old;
@@ -210,32 +222,23 @@ emfp_get_folder_item (EConfig *ec,
}
}
- if (context->folder != NULL) {
- CamelStore *store;
- CamelSession *session;
- CamelFolderInfoFlags fi_flags = 0;
- const gchar *folder_name;
- MailFolderCache *folder_cache;
- gboolean have_flags;
-
- store = camel_folder_get_parent_store (context->folder);
- folder_name = camel_folder_get_full_name (context->folder);
+ store = camel_folder_get_parent_store (context->folder);
+ folder_name = camel_folder_get_full_name (context->folder);
- session = camel_service_ref_session (CAMEL_SERVICE (store));
+ session = camel_service_ref_session (CAMEL_SERVICE (store));
- folder_cache = e_mail_session_get_folder_cache (
- E_MAIL_SESSION (session));
+ folder_cache = e_mail_session_get_folder_cache (
+ E_MAIL_SESSION (session));
- have_flags = mail_folder_cache_get_folder_info_flags (
- folder_cache, store, folder_name, &fi_flags);
+ have_flags = mail_folder_cache_get_folder_info_flags (
+ folder_cache, store, folder_name, &fi_flags);
- can_apply_filters =
- !CAMEL_IS_VEE_FOLDER (context->folder) &&
- have_flags &&
- (fi_flags & CAMEL_FOLDER_TYPE_MASK) != CAMEL_FOLDER_TYPE_INBOX;
+ can_apply_filters =
+ !CAMEL_IS_VEE_FOLDER (context->folder) &&
+ have_flags &&
+ (fi_flags & CAMEL_FOLDER_TYPE_MASK) != CAMEL_FOLDER_TYPE_INBOX;
- g_object_unref (session);
- }
+ g_object_unref (session);
class = G_OBJECT_GET_CLASS (context->folder);
properties = g_object_class_list_properties (class, &n_properties);
@@ -277,56 +280,47 @@ emfp_get_folder_item (EConfig *ec,
g_free (properties);
/* add send-account-override setting widgets */
- if (context->folder != NULL) {
- ESourceRegistry *registry;
- EShell *shell;
- EMailBackend *mail_backend;
- EMailSendAccountOverride *account_override;
- gchar *folder_uri, *account_uid;
- GtkWidget *label;
-
- registry = e_shell_get_registry (e_shell_get_default ());
-
- label = gtk_label_new_with_mnemonic (_("_Send Account Override:"));
- gtk_widget_set_halign (label, GTK_ALIGN_START);
- gtk_widget_show (label);
- gtk_table_attach (
- GTK_TABLE (table), label,
- 0, 2, row, row + 1,
- GTK_FILL, 0, 0, 0);
- row++;
-
- widget = g_object_new (
- E_TYPE_MAIL_IDENTITY_COMBO_BOX,
- "registry", registry,
- "allow-none", TRUE,
- NULL);
- gtk_label_set_mnemonic_widget (GTK_LABEL (label), widget);
- gtk_widget_set_margin_left (widget, 12);
- gtk_widget_show (widget);
- gtk_table_attach (
- GTK_TABLE (table), widget,
- 0, 2, row, row + 1,
- GTK_FILL | GTK_EXPAND, 0, 0, 0);
- row++;
-
- shell = e_shell_get_default ();
- mail_backend = E_MAIL_BACKEND (e_shell_get_backend_by_name (shell, "mail"));
- g_return_val_if_fail (mail_backend != NULL, table);
-
- account_override = e_mail_backend_get_send_account_override (mail_backend);
- folder_uri = e_mail_folder_uri_from_folder (context->folder);
- account_uid = e_mail_send_account_override_get_for_folder (account_override, folder_uri);
-
- gtk_combo_box_set_active_id (GTK_COMBO_BOX (widget), account_uid ? account_uid : "");
- g_object_set_data_full (G_OBJECT (widget), "sao-folder-uri", folder_uri, g_free);
-
- g_signal_connect (
- widget, "changed",
- G_CALLBACK (mail_identity_combo_box_changed_cb), account_override);
-
- g_free (account_uid);
- }
+ registry = e_shell_get_registry (e_shell_get_default ());
+
+ label = gtk_label_new_with_mnemonic (_("_Send Account Override:"));
+ gtk_widget_set_halign (label, GTK_ALIGN_START);
+ gtk_widget_show (label);
+ gtk_table_attach (
+ GTK_TABLE (table), label,
+ 0, 2, row, row + 1,
+ GTK_FILL, 0, 0, 0);
+ row++;
+
+ widget = g_object_new (
+ E_TYPE_MAIL_IDENTITY_COMBO_BOX,
+ "registry", registry,
+ "allow-none", TRUE,
+ NULL);
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), widget);
+ gtk_widget_set_margin_left (widget, 12);
+ gtk_widget_show (widget);
+ gtk_table_attach (
+ GTK_TABLE (table), widget,
+ 0, 2, row, row + 1,
+ GTK_FILL | GTK_EXPAND, 0, 0, 0);
+ row++;
+
+ shell = e_shell_get_default ();
+ mail_backend = E_MAIL_BACKEND (e_shell_get_backend_by_name (shell, "mail"));
+ g_return_val_if_fail (mail_backend != NULL, table);
+
+ account_override = e_mail_backend_get_send_account_override (mail_backend);
+ folder_uri = e_mail_folder_uri_from_folder (context->folder);
+ account_uid = e_mail_send_account_override_get_for_folder (account_override, folder_uri);
+
+ gtk_combo_box_set_active_id (GTK_COMBO_BOX (widget), account_uid ? account_uid : "");
+ g_object_set_data_full (G_OBJECT (widget), "sao-folder-uri", folder_uri, g_free);
+
+ g_signal_connect (
+ widget, "changed",
+ G_CALLBACK (mail_identity_combo_box_changed_cb), account_override);
+
+ g_free (account_uid);
return table;
}
diff --git a/mail/em-folder-tree.c b/mail/em-folder-tree.c
index 27091e2f5c..aaf3488307 100644
--- a/mail/em-folder-tree.c
+++ b/mail/em-folder-tree.c
@@ -554,6 +554,8 @@ folder_tree_maybe_expand_row (EMFolderTreeModel *model,
if (u) {
gchar *c = strrchr (key, '/');
+ /* 'c' cannot be NULL, because the above contructed 'key' has it there */
+ /* coverity[dereference] */
*c = '\0';
folder_tree_expand_node (key, folder_tree);
@@ -3036,12 +3038,10 @@ em_folder_tree_set_selected_list (EMFolderTree *folder_tree,
g_slist_append (priv->select_uris, u);
}
- end = strrchr (expand_key, '/');
- do {
+ while (end = strrchr (expand_key, '/'), end) {
folder_tree_expand_node (expand_key, folder_tree);
*end = 0;
- end = strrchr (expand_key, '/');
- } while (end);
+ }
if (expand_only)
folder_tree_free_select_uri (u);
@@ -3108,33 +3108,39 @@ em_folder_tree_select_next_path (EMFolderTree *folder_tree,
current_path = gtk_tree_model_get_path (model, &iter);
do {
- if (gtk_tree_model_iter_has_child (model, &iter)) {
- gtk_tree_model_iter_children (model, &child, &iter);
- path = gtk_tree_model_get_path (model, &child);
- iter = child;
- } else {
- while (1) {
- gboolean has_parent;
+ if (gtk_tree_model_iter_has_child (model, &iter)) {
+ if (!gtk_tree_model_iter_children (model, &child, &iter))
+ break;
+ path = gtk_tree_model_get_path (model, &child);
+ iter = child;
+ } else {
+ while (1) {
+ gboolean has_parent;
- has_parent = gtk_tree_model_iter_parent (
- model, &parent, &iter);
+ has_parent = gtk_tree_model_iter_parent (
+ model, &parent, &iter);
- if (gtk_tree_model_iter_next (model, &iter)) {
- path = gtk_tree_model_get_path (model, &iter);
- break;
- } else {
- if (has_parent) {
- iter = parent;
- } else {
- /* Reached end. Wrapup*/
- gtk_tree_model_get_iter_first (model, &iter);
+ if (gtk_tree_model_iter_next (model, &iter)) {
path = gtk_tree_model_get_path (model, &iter);
break;
+ } else {
+ if (has_parent) {
+ iter = parent;
+ } else {
+ /* Reached end. Wrapup*/
+ if (gtk_tree_model_get_iter_first (model, &iter))
+ path = gtk_tree_model_get_path (model, &iter);
+ else
+ path = NULL;
+ break;
+ }
}
}
+
+ if (!path)
+ break;
}
- }
- gtk_tree_model_get (model, &iter, COL_UINT_UNREAD, &unread, -1);
+ gtk_tree_model_get (model, &iter, COL_UINT_UNREAD, &unread, -1);
/* TODO : Flags here for better options */
} while (skip_read_folders && unread <=0 &&
@@ -3153,6 +3159,7 @@ em_folder_tree_select_next_path (EMFolderTree *folder_tree,
}
gtk_tree_view_scroll_to_cell (tree_view, path, NULL, TRUE, 0.5f, 0.0f);
}
+
return;
}
diff --git a/mail/em-utils.c b/mail/em-utils.c
index db68b96003..6669ef5aff 100644
--- a/mail/em-utils.c
+++ b/mail/em-utils.c
@@ -590,7 +590,6 @@ em_utils_read_messages_from_stream (CamelFolder *folder,
while (camel_mime_parser_step (mp, NULL, NULL) == CAMEL_MIME_PARSER_STATE_FROM) {
CamelMimeMessage *msg;
- gboolean success;
/* NB: de-from filter, once written */
msg = camel_mime_message_new ();
@@ -1060,6 +1059,8 @@ em_utils_selection_set_urilist (GtkSelectionData *data,
exit:
g_free (tmpdir);
+ /* the 'fd' from the 'save_as_mbox' part is freed within the 'fstream' */
+ /* coverity[leaked_handle] */
}
/**
@@ -1094,6 +1095,8 @@ em_utils_selection_get_urilist (GtkSelectionData *selection_data,
if (url == NULL)
continue;
+ /* 'fd', if set, is freed within the 'stream' */
+ /* coverity[overwrite_var] */
if (strcmp (url->protocol, "file") == 0
&& (fd = g_open (url->path, O_RDONLY | O_BINARY, 0)) != -1) {
stream = camel_stream_fs_new_with_fd (fd);
@@ -1107,6 +1110,9 @@ em_utils_selection_get_urilist (GtkSelectionData *selection_data,
}
g_strfreev (uris);
+
+ /* 'fd', if set, is freed within the 'stream' */
+ /* coverity[leaked_handle] */
}
/* ********************************************************************** */
diff --git a/mail/importers/evolution-mbox-importer.c b/mail/importers/evolution-mbox-importer.c
index 5eb59e82f0..eb5746a746 100644
--- a/mail/importers/evolution-mbox-importer.c
+++ b/mail/importers/evolution-mbox-importer.c
@@ -374,8 +374,7 @@ mbox_get_preview (EImport *ei,
mp = camel_mime_parser_new ();
camel_mime_parser_scan_from (mp, TRUE);
if (camel_mime_parser_init_with_fd (mp, fd) == -1) {
- g_object_unref (mp);
- return NULL;
+ goto cleanup;
}
while (camel_mime_parser_step (mp, NULL, NULL) == CAMEL_MIME_PARSER_STATE_FROM) {
@@ -416,14 +415,18 @@ mbox_get_preview (EImport *ei,
if (store) {
GtkTreeView *tree_view;
GtkTreeSelection *selection;
- gboolean valid;
preview = e_web_view_preview_new ();
gtk_widget_show (preview);
tree_view = e_web_view_preview_get_tree_view (
E_WEB_VIEW_PREVIEW (preview));
- g_return_val_if_fail (tree_view != NULL, NULL);
+ if (!tree_view) {
+ g_warn_if_reached ();
+ gtk_widget_destroy (preview);
+ preview = NULL;
+ goto cleanup;
+ }
gtk_tree_view_set_model (tree_view, GTK_TREE_MODEL (store));
g_object_unref (store);
@@ -443,16 +446,20 @@ mbox_get_preview (EImport *ei,
E_WEB_VIEW_PREVIEW (preview));
create_preview_func (G_OBJECT (preview), &preview_widget);
- g_return_val_if_fail (preview_widget != NULL, NULL);
+ if (!preview_widget) {
+ g_warn_if_reached ();
+ goto cleanup;
+ }
e_web_view_preview_set_preview (
E_WEB_VIEW_PREVIEW (preview), preview_widget);
gtk_widget_show (preview_widget);
selection = gtk_tree_view_get_selection (tree_view);
- valid = gtk_tree_model_get_iter_first (
- GTK_TREE_MODEL (store), &iter);
- g_return_val_if_fail (valid, NULL);
+ if (!gtk_tree_model_get_iter_first (GTK_TREE_MODEL (store), &iter)) {
+ g_warn_if_reached ();
+ goto cleanup;
+ }
gtk_tree_selection_select_iter (selection, &iter);
g_signal_connect (
@@ -463,6 +470,11 @@ mbox_get_preview (EImport *ei,
selection, E_WEB_VIEW_PREVIEW (preview));
}
+ cleanup:
+ g_object_unref (mp);
+
+ /* 'fd' is freed together with 'mp' */
+ /* coverity[leaked_handle] */
return preview;
}
diff --git a/mail/importers/mail-importer.c b/mail/importers/mail-importer.c
index 0af34a3861..ac432b58ef 100644
--- a/mail/importers/mail-importer.c
+++ b/mail/importers/mail-importer.c
@@ -203,6 +203,8 @@ fail1:
/* FIXME Not passing a GCancellable or GError here. */
camel_folder_synchronize_sync (folder, FALSE, NULL, NULL);
g_object_unref (folder);
+ /* 'fd' is freed together with 'mp' */
+ /* coverity[leaked_handle] */
}
static void
diff --git a/mail/message-list.c b/mail/message-list.c
index 89a473a7ff..b54af0fe68 100644
--- a/mail/message-list.c
+++ b/mail/message-list.c
@@ -1233,7 +1233,7 @@ thread_select_foreach (ETreePath path,
do {
last = node;
node = node->parent;
- } while (!G_NODE_IS_ROOT (node));
+ } while (node && !G_NODE_IS_ROOT (node));
g_ptr_array_add (tsi->paths, last);
@@ -1719,14 +1719,14 @@ ml_tree_value_at_ex (ETreeModel *etm,
/* Extract the single label from the hashtable. */
g_hash_table_iter_init (&iter, ld.labels_tag2iter);
- g_hash_table_iter_next (&iter, NULL, (gpointer *) &label_defn);
+ if (g_hash_table_iter_next (&iter, NULL, (gpointer *) &label_defn)) {
+ e_mail_label_list_store_get_color (ld.store, label_defn, &colour_val);
- e_mail_label_list_store_get_color (ld.store, label_defn, &colour_val);
-
- /* XXX Hack to avoid returning an allocated string. */
- colour_alloced = gdk_color_to_string (&colour_val);
- colour = g_intern_string (colour_alloced);
- g_free (colour_alloced);
+ /* XXX Hack to avoid returning an allocated string. */
+ colour_alloced = gdk_color_to_string (&colour_val);
+ colour = g_intern_string (colour_alloced);
+ g_free (colour_alloced);
+ }
} else if (camel_message_info_flags (msg_info) & CAMEL_MESSAGE_FLAGGED) {
/* FIXME: extract from the important.xpm somehow. */
colour = "#A7453E";
@@ -5412,9 +5412,11 @@ message_list_regen_thread (GSimpleAsyncResult *simple,
/* Handle search error or cancellation. */
- if (local_error == NULL)
+ if (local_error == NULL) {
+ /* coverity[unchecked_value] */
g_cancellable_set_error_if_cancelled (
cancellable, &local_error);
+ }
if (local_error != NULL) {
g_simple_async_result_take_error (simple, local_error);
@@ -5506,9 +5508,8 @@ message_list_regen_done_cb (GObject *source_object,
activity = regen_data->activity;
- g_simple_async_result_propagate_error (simple, &local_error);
-
- if (e_activity_handle_cancellation (activity, local_error)) {
+ if (g_simple_async_result_propagate_error (simple, &local_error) &&
+ e_activity_handle_cancellation (activity, local_error)) {
g_error_free (local_error);
return;
diff --git a/modules/backup-restore/evolution-backup-tool.c b/modules/backup-restore/evolution-backup-tool.c
index 3ca07ecea2..d164d8b216 100644
--- a/modules/backup-restore/evolution-backup-tool.c
+++ b/modules/backup-restore/evolution-backup-tool.c
@@ -98,7 +98,7 @@ static GOptionEntry options[] = {
#define d(x)
#define print_and_run(x) \
- G_STMT_START { g_message ("%s", x); system (x); } G_STMT_END
+ G_STMT_START { g_message ("%s", x); if (system (x) == -1) g_warning ("%s: Failed to execute '%s'", G_STRFUNC, (x)); } G_STMT_END
static gboolean check (const gchar *filename, gboolean *is_new_format);
diff --git a/modules/calendar/e-task-shell-view-private.c b/modules/calendar/e-task-shell-view-private.c
index 39b90b51a7..bacb46be62 100644
--- a/modules/calendar/e-task-shell-view-private.c
+++ b/modules/calendar/e-task-shell-view-private.c
@@ -518,7 +518,7 @@ e_task_shell_view_private_dispose (ETaskShellView *task_shell_view)
g_signal_handler_disconnect (
priv->settings,
priv->settings_hide_completed_tasks_value_handler_id);
- priv->settings_hide_completed_tasks_units_handler_id = 0;
+ priv->settings_hide_completed_tasks_value_handler_id = 0;
}
g_clear_object (&priv->task_shell_backend);
diff --git a/modules/itip-formatter/e-mail-part-itip.c b/modules/itip-formatter/e-mail-part-itip.c
index e4e6302822..447ff0d13b 100644
--- a/modules/itip-formatter/e-mail-part-itip.c
+++ b/modules/itip-formatter/e-mail-part-itip.c
@@ -88,16 +88,14 @@ mail_part_itip_bind_dom_element (EMailPart *part,
if (!WEBKIT_DOM_IS_HTML_IFRAME_ELEMENT (element)) {
WebKitDOMNodeList *nodes;
- guint ii, length;
+ guint length;
nodes = webkit_dom_element_get_elements_by_tag_name (
element, "iframe");
length = webkit_dom_node_list_get_length (nodes);
- for (ii = 0; ii < length; ii++) {
+ if (length > 0)
element = WEBKIT_DOM_ELEMENT (
- webkit_dom_node_list_item (nodes, ii));
- break;
- }
+ webkit_dom_node_list_item (nodes, 0));
}
g_return_if_fail (WEBKIT_DOM_IS_HTML_IFRAME_ELEMENT (element));
diff --git a/modules/itip-formatter/itip-view.c b/modules/itip-formatter/itip-view.c
index 1c193a4844..a490927501 100644
--- a/modules/itip-formatter/itip-view.c
+++ b/modules/itip-formatter/itip-view.c
@@ -4483,6 +4483,7 @@ get_uri_for_part (CamelMimePart *mime_part)
/* Loading should be instantaneous since we already have
* the full content, but we still have to crank the main
* loop until the callback gets triggered. */
+ /* coverity[loop_condition] */
while (!status.done)
gtk_main_iteration ();
@@ -4495,6 +4496,7 @@ get_uri_for_part (CamelMimePart *mime_part)
/* We can't return until we have results, so crank
* the main loop until the callback gets triggered. */
+ /* coverity[loop_condition] */
while (!status.done)
gtk_main_iteration ();
@@ -6004,6 +6006,7 @@ itip_view_init_view (ItipView *view)
case ICAL_METHOD_REQUEST:
/* FIXME What about the name? */
itip_view_set_delegator (view, info->delegator_name ? info->delegator_name : info->delegator_address);
+ /* coverity[fallthrough] */
case ICAL_METHOD_PUBLISH:
case ICAL_METHOD_ADD:
case ICAL_METHOD_CANCEL:
@@ -6019,13 +6022,13 @@ itip_view_init_view (ItipView *view)
itip_view_set_organizer_sentby (
view, itip_strip_mailto (organizer.sentby));
- if (info->my_address) {
- if (!(organizer.value && !g_ascii_strcasecmp (itip_strip_mailto (organizer.value), info->my_address))
- && !(organizer.sentby && !g_ascii_strcasecmp (itip_strip_mailto (organizer.sentby), info->my_address))
- && (info->to_address && g_ascii_strcasecmp (info->to_address, info->my_address)))
- itip_view_set_proxy (view, info->to_name ? info->to_name : info->to_address);
- }
- break;
+ if (info->my_address) {
+ if (!(organizer.value && !g_ascii_strcasecmp (itip_strip_mailto (organizer.value), info->my_address))
+ && !(organizer.sentby && !g_ascii_strcasecmp (itip_strip_mailto (organizer.sentby), info->my_address))
+ && (info->to_address && g_ascii_strcasecmp (info->to_address, info->my_address)))
+ itip_view_set_proxy (view, info->to_name ? info->to_name : info->to_address);
+ }
+ break;
case ICAL_METHOD_REPLY:
case ICAL_METHOD_REFRESH:
case ICAL_METHOD_COUNTER:
diff --git a/modules/mail-config/e-mail-config-google-summary.c b/modules/mail-config/e-mail-config-google-summary.c
index d1d51a4232..1517849ff8 100644
--- a/modules/mail-config/e-mail-config-google-summary.c
+++ b/modules/mail-config/e-mail-config-google-summary.c
@@ -240,7 +240,7 @@ mail_config_google_summary_constructed (GObject *object)
widget = gtk_grid_new ();
gtk_grid_set_row_spacing (GTK_GRID (widget), 6);
gtk_grid_set_column_spacing (GTK_GRID (widget), 6);
- gtk_box_pack_start (GTK_BOX (page), widget, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (container), widget, FALSE, FALSE, 0);
g_object_bind_property (
extension, "applicable",
diff --git a/modules/mail-config/e-mail-config-yahoo-summary.c b/modules/mail-config/e-mail-config-yahoo-summary.c
index 2153f9cadf..0d6ea35b0a 100644
--- a/modules/mail-config/e-mail-config-yahoo-summary.c
+++ b/modules/mail-config/e-mail-config-yahoo-summary.c
@@ -235,7 +235,7 @@ mail_config_yahoo_summary_constructed (GObject *object)
widget = gtk_grid_new ();
gtk_grid_set_row_spacing (GTK_GRID (widget), 6);
gtk_grid_set_column_spacing (GTK_GRID (widget), 6);
- gtk_box_pack_start (GTK_BOX (page), widget, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (container), widget, FALSE, FALSE, 0);
g_object_bind_property (
extension, "applicable",
diff --git a/modules/mail/e-mail-shell-view-private.c b/modules/mail/e-mail-shell-view-private.c
index bb97910b26..c367f683c4 100644
--- a/modules/mail/e-mail-shell-view-private.c
+++ b/modules/mail/e-mail-shell-view-private.c
@@ -178,9 +178,6 @@ ctrl:
goto exit;
}
- /* All branches jump past this. */
- g_return_val_if_reached (FALSE);
-
emit:
/* Forward the key press to the EMailReader interface. */
g_signal_emit_by_name (mail_view, "key-press-event", event, &handled);
diff --git a/plugins/attachment-reminder/attachment-reminder.c b/plugins/attachment-reminder/attachment-reminder.c
index 52a03231b7..5ee371987e 100644
--- a/plugins/attachment-reminder/attachment-reminder.c
+++ b/plugins/attachment-reminder/attachment-reminder.c
@@ -622,9 +622,7 @@ e_plugin_lib_get_configure_widget (EPlugin *plugin)
gtk_list_store_set (ui->store, &iter, CLUE_KEYWORD_COLUMN, clue_list[i], -1);
}
- if (clue_list) {
- g_strfreev (clue_list);
- }
+ g_strfreev (clue_list);
/* Add the list here */
diff --git a/plugins/dbx-import/dbx-importer.c b/plugins/dbx-import/dbx-importer.c
index 47a2bb94bf..5fe0863c31 100644
--- a/plugins/dbx-import/dbx-importer.c
+++ b/plugins/dbx-import/dbx-importer.c
@@ -446,7 +446,8 @@ dbx_read_mail_body (DbxImporter *m,
guint32 buflen = 0x200;
guchar *buffer = g_malloc (buflen);
- ftruncate (bodyfd, 0);
+ if (ftruncate (bodyfd, 0) == -1)
+ g_warning ("%s: Failed to truncate file: %s", G_STRFUNC, g_strerror (errno));
lseek (bodyfd, 0, SEEK_SET);
while (offset) {
diff --git a/plugins/email-custom-header/email-custom-header.c b/plugins/email-custom-header/email-custom-header.c
index 78364fa84f..c7e8f50b45 100644
--- a/plugins/email-custom-header/email-custom-header.c
+++ b/plugins/email-custom-header/email-custom-header.c
@@ -177,6 +177,7 @@ epech_header_options_cb (GtkDialog *dialog,
switch (state) {
case GTK_RESPONSE_OK:
epech_get_widgets_data (mch);
+ /* coverity[fallthrough] */
case GTK_RESPONSE_CANCEL:
gtk_widget_hide (priv->main);
gtk_widget_destroy (priv->main);
diff --git a/plugins/external-editor/external-editor.c b/plugins/external-editor/external-editor.c
index 8f6e782919..97cb6abf5e 100644
--- a/plugins/external-editor/external-editor.c
+++ b/plugins/external-editor/external-editor.c
@@ -26,6 +26,8 @@
#include <config.h>
#endif
+#include <errno.h>
+
#include <mail/em-config.h>
#include <mail/em-composer-utils.h>
#include <e-msg-composer.h>
@@ -374,7 +376,9 @@ external_editor_thread (gpointer user_data)
g_idle_add ((GSourceFunc) update_composer_text, array);
/* We no longer need that temporary file */
- g_remove (filename);
+ if (g_remove (filename) == -1)
+ g_warning ("%s: Failed to remove file '%s': %s",
+ G_STRFUNC, filename, g_strerror (errno));
g_free (filename);
}
}
diff --git a/plugins/mail-to-task/mail-to-task.c b/plugins/mail-to-task/mail-to-task.c
index b2c995e0e8..f4bfe1927a 100644
--- a/plugins/mail-to-task/mail-to-task.c
+++ b/plugins/mail-to-task/mail-to-task.c
@@ -852,23 +852,19 @@ do_mail_to_event (AsyncData *data)
if (error != NULL) {
report_error_idle (_("Cannot open calendar. %s"), error->message);
} else if (e_client_is_readonly (E_CLIENT (client))) {
- if (error != NULL)
- report_error_idle ("Check readonly failed. %s", error->message);
- else {
- switch (data->source_type) {
- case E_CAL_CLIENT_SOURCE_TYPE_EVENTS:
- report_error_idle (_("Selected calendar is read only, thus cannot create event there. Select other calendar, please."), NULL);
- break;
- case E_CAL_CLIENT_SOURCE_TYPE_TASKS:
- report_error_idle (_("Selected task list is read only, thus cannot create task there. Select other task list, please."), NULL);
- break;
- case E_CAL_CLIENT_SOURCE_TYPE_MEMOS:
- report_error_idle (_("Selected memo list is read only, thus cannot create memo there. Select other memo list, please."), NULL);
- break;
- default:
- g_assert_not_reached ();
- break;
- }
+ switch (data->source_type) {
+ case E_CAL_CLIENT_SOURCE_TYPE_EVENTS:
+ report_error_idle (_("Selected calendar is read only, thus cannot create event there. Select other calendar, please."), NULL);
+ break;
+ case E_CAL_CLIENT_SOURCE_TYPE_TASKS:
+ report_error_idle (_("Selected task list is read only, thus cannot create task there. Select other task list, please."), NULL);
+ break;
+ case E_CAL_CLIENT_SOURCE_TYPE_MEMOS:
+ report_error_idle (_("Selected memo list is read only, thus cannot create memo there. Select other memo list, please."), NULL);
+ break;
+ default:
+ g_assert_not_reached ();
+ break;
}
} else {
gint i;
@@ -1114,7 +1110,6 @@ mail_to_event (ECalClientSourceType source_type,
GList *list, *iter;
GtkWindow *parent;
const gchar *extension_name;
- GError *error = NULL;
parent = e_mail_reader_get_window (reader);
uids = e_mail_reader_get_selected_uids (reader);
@@ -1193,16 +1188,6 @@ mail_to_event (ECalClientSourceType source_type,
E_SOURCE_SELECTOR_DIALOG (dialog));
gtk_widget_destroy (dialog);
- } else if (!source && default_source) {
- source = default_source;
- } else if (!source) {
- e_notice (
- NULL, GTK_MESSAGE_ERROR,
- _("No writable calendar is available."));
-
- if (error != NULL)
- g_error_free (error);
- goto exit;
}
if (source) {
@@ -1234,7 +1219,6 @@ mail_to_event (ECalClientSourceType source_type,
}
}
-exit:
g_object_unref (default_source);
g_ptr_array_unref (uids);
}
diff --git a/plugins/mailing-list-actions/mailing-list-actions.c b/plugins/mailing-list-actions/mailing-list-actions.c
index d9466013c2..35a379c771 100644
--- a/plugins/mailing-list-actions/mailing-list-actions.c
+++ b/plugins/mailing-list-actions/mailing-list-actions.c
@@ -229,7 +229,7 @@ emla_list_action_cb (CamelFolder *folder,
/* get URL portion */
url = g_strndup (headerpos, end - headerpos);
- if (strncmp (url, "mailto:", 6) == 0) {
+ if (url && strncmp (url, "mailto:", 6) == 0) {
if (emla_action_headers[t].interactive)
send_message_response = GTK_RESPONSE_NO;
else
@@ -253,7 +253,7 @@ emla_list_action_cb (CamelFolder *folder,
}
goto exit;
- } else {
+ } else if (url && *url) {
e_show_uri (window, url);
goto exit;
}
diff --git a/plugins/pst-import/pst-importer.c b/plugins/pst-import/pst-importer.c
index 853a16cbd8..f16f476920 100644
--- a/plugins/pst-import/pst-importer.c
+++ b/plugins/pst-import/pst-importer.c
@@ -807,13 +807,14 @@ pst_import_folders (PstImporter *m,
pst_desc_tree *topitem)
{
GHashTable *node_to_folderuri; /* pointers of hierarchy nodes, to them associated folder uris */
- pst_desc_tree *d_ptr;
+ pst_desc_tree *d_ptr = NULL;
node_to_folderuri = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL, g_free);
- d_ptr = topitem->child;
- if (topitem)
+ if (topitem) {
+ d_ptr = topitem->child;
g_hash_table_insert (node_to_folderuri, topitem, g_strdup (m->folder_uri));
+ }
/* Walk through folder tree */
while (d_ptr != NULL && (g_cancellable_is_cancelled (m->cancellable) == FALSE)) {
@@ -866,7 +867,7 @@ pst_import_folders (PstImporter *m,
break;
}
- d_ptr = d_ptr->next;
+ d_ptr = d_ptr ? d_ptr->next : NULL;
}
g_free (previous_folder);
@@ -1865,6 +1866,8 @@ fill_calcomponent (PstImporter *m,
case PST_FREEBUSY_FREE:
/* mark as transparent and as confirmed */
e_cal_component_set_transparency (ec, E_CAL_COMPONENT_TRANSP_TRANSPARENT);
+ e_cal_component_set_status (ec, ICAL_STATUS_CONFIRMED);
+ break;
case PST_FREEBUSY_BUSY:
case PST_FREEBUSY_OUT_OF_OFFICE:
e_cal_component_set_status (ec, ICAL_STATUS_CONFIRMED);
diff --git a/plugins/publish-calendar/url-editor-dialog.c b/plugins/publish-calendar/url-editor-dialog.c
index 04bbe5d9f9..d01c585307 100644
--- a/plugins/publish-calendar/url-editor-dialog.c
+++ b/plugins/publish-calendar/url-editor-dialog.c
@@ -72,6 +72,9 @@ create_uri (UrlEditorDialog *dialog)
case TYPE_ANON_FTP:
g_free (username);
username = g_strdup ("anonymous");
+ method = "ftp";
+ break;
+
case TYPE_FTP:
method = "ftp";
break;
diff --git a/plugins/save-calendar/save-calendar.c b/plugins/save-calendar/save-calendar.c
index c713612db8..e4228cb339 100644
--- a/plugins/save-calendar/save-calendar.c
+++ b/plugins/save-calendar/save-calendar.c
@@ -82,14 +82,14 @@ on_type_combobox_changed (GtkComboBox *combobox,
extra_widget_foreach_hide,
g_object_get_data (G_OBJECT (combobox), "format-box"));
- gtk_combo_box_get_active_iter (combobox, &iter);
+ if (!gtk_combo_box_get_active_iter (combobox, &iter))
+ return;
gtk_tree_model_get (
model, &iter,
DEST_HANDLER, &handler, -1);
- if (handler->options_widget)
- {
+ if (handler && handler->options_widget) {
gtk_widget_show (handler->options_widget);
}
@@ -202,25 +202,30 @@ ask_destination_and_save (ESourceSelector *selector,
if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_OK) {
gchar *tmp = NULL;
- gtk_combo_box_get_active_iter (combo, &iter);
- gtk_tree_model_get (
- model, &iter,
- DEST_HANDLER, &handler, -1);
+ if (gtk_combo_box_get_active_iter (combo, &iter))
+ gtk_tree_model_get (
+ model, &iter,
+ DEST_HANDLER, &handler, -1);
+ else
+ handler = NULL;
- dest_uri = gtk_file_chooser_get_uri
- (GTK_FILE_CHOOSER (dialog));
+ dest_uri = gtk_file_chooser_get_uri (GTK_FILE_CHOOSER (dialog));
- tmp = strstr (dest_uri, handler->filename_ext);
+ if (handler) {
+ tmp = strstr (dest_uri, handler->filename_ext);
- if (!(tmp && *(tmp + strlen (handler->filename_ext)) == '\0')) {
+ if (!(tmp && *(tmp + strlen (handler->filename_ext)) == '\0')) {
- gchar *temp;
- temp = g_strconcat (dest_uri, handler->filename_ext, NULL);
- g_free (dest_uri);
- dest_uri = temp;
- }
+ gchar *temp;
+ temp = g_strconcat (dest_uri, handler->filename_ext, NULL);
+ g_free (dest_uri);
+ dest_uri = temp;
+ }
- handler->save (handler, selector, type, dest_uri);
+ handler->save (handler, selector, type, dest_uri);
+ } else {
+ g_warn_if_reached ();
+ }
}
/* Free the handlers */
diff --git a/shell/e-convert-local-mail.c b/shell/e-convert-local-mail.c
index 81c9e04771..ab773813d1 100644
--- a/shell/e-convert-local-mail.c
+++ b/shell/e-convert-local-mail.c
@@ -16,8 +16,11 @@
*
*/
+#ifdef HAVE_CONFIG_H
#include <config.h>
+#endif
+#include <errno.h>
#include <glib/gstdio.h>
#include <camel/camel.h>
@@ -168,8 +171,11 @@ rename_mbox_dir (ESource *mbox_source,
g_file_test (old_mail_dir, G_FILE_TEST_EXISTS) &&
!g_file_test (new_mail_dir, G_FILE_TEST_EXISTS);
- if (need_rename)
- g_rename (old_mail_dir, new_mail_dir);
+ if (need_rename) {
+ if (g_rename (old_mail_dir, new_mail_dir) == -1)
+ g_warning ("%s: Failed to rename '%s' to '%s': %s",
+ G_STRFUNC, old_mail_dir, new_mail_dir, g_strerror (errno));
+ }
g_free (old_mail_dir);
g_free (new_mail_dir);
@@ -246,7 +252,9 @@ migrate_mbox_to_maildir (EShell *shell,
path = g_build_filename (data_dir, "local", NULL);
g_object_set (settings, "path", path, NULL);
- g_mkdir (path, 0700);
+ if (g_mkdir (path, 0700) == -1)
+ g_warning ("%s: Failed to make directory '%s': %s",
+ G_STRFUNC, path, g_strerror (errno));
g_free (path);
g_object_unref (settings);
@@ -257,6 +265,7 @@ migrate_mbox_to_maildir (EShell *shell,
ms.complete = FALSE;
thread = g_thread_new (NULL, (GThreadFunc) migrate_stores, &ms);
+ /* coverity[loop_condition] */
while (!ms.complete)
g_main_context_iteration (NULL, TRUE);
diff --git a/shell/e-shell-migrate.c b/shell/e-shell-migrate.c
index 20e96960e4..f7de962fde 100644
--- a/shell/e-shell-migrate.c
+++ b/shell/e-shell-migrate.c
@@ -19,12 +19,15 @@
*
*/
-#include "e-shell-migrate.h"
-
+#ifdef HAVE_CONFIG_H
#include <config.h>
+#endif
+
+#include <errno.h>
#include <glib/gstdio.h>
#include <libedataserver/libedataserver.h>
+#include "e-shell-migrate.h"
#include "evo-version.h"
static gboolean
@@ -157,7 +160,9 @@ change_dir_modes (const gchar *path)
g_free (full_path);
}
- g_chmod (path, 0700);
+ if (g_chmod (path, 0700) == -1)
+ g_warning ("%s: Failed to chmod of '%s': %s", G_STRFUNC, path, g_strerror (errno));
+
g_dir_close (dir);
}
diff --git a/shell/e-shell-utils.c b/shell/e-shell-utils.c
index 97982cfbf9..1c3f8f88c0 100644
--- a/shell/e-shell-utils.c
+++ b/shell/e-shell-utils.c
@@ -156,7 +156,7 @@ e_shell_run_save_dialog (EShell *shell,
gchar **flts = g_strsplit (filters, ";", -1);
gint i;
- for (i = 0; flts[i]; i++) {
+ for (i = 0; flts && flts[i]; i++) {
GtkFileFilter *filter = gtk_file_filter_new ();
gchar *flt = flts[i];
gchar *delim = strchr (flt, ':'), *next = NULL;
diff --git a/shell/e-shell-view.c b/shell/e-shell-view.c
index fe9724c46f..ca5cdb0b62 100644
--- a/shell/e-shell-view.c
+++ b/shell/e-shell-view.c
@@ -452,6 +452,7 @@ shell_view_get_property (GObject *object,
g_value_set_object (
value, e_shell_view_get_shell_backend (
E_SHELL_VIEW (object)));
+ return;
case PROP_SHELL_CONTENT:
g_value_set_object (
diff --git a/shell/killev.c b/shell/killev.c
index ea4ad2a8ce..2157cdbce8 100644
--- a/shell/killev.c
+++ b/shell/killev.c
@@ -163,7 +163,8 @@ main (gint argc,
kill:
#ifdef KILL_PROCESS_CMD
- system (KILL_PROCESS_CMD " -QUIT evolution 2> /dev/null");
+ if (system (KILL_PROCESS_CMD " -QUIT evolution 2> /dev/null") == -1)
+ g_warning ("%s: Failed to execute: '%s'", G_STRFUNC, KILL_PROCESS_CMD);
#else
g_printerr ("No \"kill\" command available.\n");
#endif
diff --git a/smime/lib/e-cert-db.c b/smime/lib/e-cert-db.c
index e8e91a427a..abb07be5d1 100644
--- a/smime/lib/e-cert-db.c
+++ b/smime/lib/e-cert-db.c
@@ -1094,6 +1094,7 @@ e_cert_db_import_certs_from_file (ECertDB *cert_db,
rv = e_cert_db_import_email_cert (cert_db, buf, bytes_read, imported_certs, error);
break;
+ /* coverity[dead_error_begin] */
default:
rv = FALSE;
break;