[evolution-ews/gnome-3-28] Address some of the compiler and static analyzers warnings



commit a24562f67a95c526243c61c3942f458e4d327976
Author: Milan Crha <mcrha redhat com>
Date:   Thu May 17 15:14:02 2018 +0200

    Address some of the compiler and static analyzers warnings

 src/addressbook/ews-oab-decoder.c                  |   14 +++++++++++---
 src/calendar/e-cal-backend-ews.c                   |    4 +++-
 .../e-mail-config-ews-delegates-page.c             |    3 ++-
 src/server/e-ews-connection.c                      |    7 +++++--
 src/server/e-ews-folder.c                          |   15 +++++++++------
 5 files changed, 30 insertions(+), 13 deletions(-)
---
diff --git a/src/addressbook/ews-oab-decoder.c b/src/addressbook/ews-oab-decoder.c
index 9920922..f17783d 100644
--- a/src/addressbook/ews-oab-decoder.c
+++ b/src/addressbook/ews-oab-decoder.c
@@ -179,8 +179,8 @@ ews_populate_photo (EContact *contact,
        EwsOabDecoderPrivate *priv = GET_PRIVATE (eod);
        const gchar *at;
        GBytes *bytes = value;
-       EContactPhoto *photo = g_new0 (EContactPhoto, 1);
-       gchar *email = e_contact_get (contact, E_CONTACT_EMAIL_1);
+       EContactPhoto *photo;
+       gchar *email;
        gchar *filename = NULL, *pic_name = NULL, *name;
        gboolean success = TRUE;
        GError *local_error = NULL;
@@ -188,6 +188,14 @@ ews_populate_photo (EContact *contact,
        if (!bytes)
                return;
 
+       email = e_contact_get (contact, E_CONTACT_EMAIL_1);
+       if (!email || !strchr (email, '@')) {
+               g_free (email);
+               return;
+       }
+
+       photo = g_new0 (EContactPhoto, 1);
+
        /* Rename the binary file to name.jpg */
        at = strchr (email, '@');
        name = g_strndup (email, at - email);
@@ -201,7 +209,7 @@ ews_populate_photo (EContact *contact,
                photo->type = E_CONTACT_PHOTO_TYPE_URI;
                photo->data.uri = filename;
 
-               e_contact_set (contact, field, (gpointer) photo);
+               e_contact_set (contact, field, photo);
        } else {
                g_warning ("%s: Failed to store '%s': %s", G_STRFUNC, filename, local_error ? 
local_error->message : "Unknown error");
        }
diff --git a/src/calendar/e-cal-backend-ews.c b/src/calendar/e-cal-backend-ews.c
index 81b8bb2..19e26fc 100644
--- a/src/calendar/e-cal-backend-ews.c
+++ b/src/calendar/e-cal-backend-ews.c
@@ -2684,7 +2684,9 @@ ecb_ews_save_component_sync (ECalMetaBackend *meta_backend,
                if (success && e_cal_component_has_attachments (master) > 0) {
                        GSList *info_attachments = NULL;
 
-                       if (ecb_ews_extract_attachments (icalcomp, &info_attachments)) {
+                       g_warn_if_fail (ews_id != NULL);
+
+                       if (ews_id && ecb_ews_extract_attachments (icalcomp, &info_attachments)) {
                                GSList *ids = NULL;
 
                                success = e_ews_connection_create_attachments_sync (cbews->priv->cnc, 
EWS_PRIORITY_MEDIUM,
diff --git a/src/configuration/e-mail-config-ews-delegates-page.c 
b/src/configuration/e-mail-config-ews-delegates-page.c
index 7382a7a..b317bf2 100644
--- a/src/configuration/e-mail-config-ews-delegates-page.c
+++ b/src/configuration/e-mail-config-ews-delegates-page.c
@@ -1539,7 +1539,7 @@ mail_config_ews_delegates_page_refresh_idle_cb (GObject *with_object,
 
        } else {
                EMailConfigEwsDelegatesPage *page = async_context->page;
-               GtkWidget *radio = page->priv->deliver_copy_me_radio;
+               GtkWidget *radio;
                GtkTreeModel *model;
                const GSList *iter;
 
@@ -1552,6 +1552,7 @@ mail_config_ews_delegates_page_refresh_idle_cb (GObject *with_object,
                case EwsDelegateDeliver_DelegatesAndMe:
                        radio = page->priv->deliver_delegates_and_me_radio;
                        break;
+               default:
                case EwsDelegateDeliver_DelegatesAndSendInformationToMe:
                        radio = page->priv->deliver_copy_me_radio;
                        break;
diff --git a/src/server/e-ews-connection.c b/src/server/e-ews-connection.c
index cd44bd0..267d270 100644
--- a/src/server/e-ews-connection.c
+++ b/src/server/e-ews-connection.c
@@ -1392,8 +1392,9 @@ handle_get_items_response_cb (EwsAsyncData *async_data, ESoapParameter *param)
                const gchar *name = (const gchar *) subparam->name;
 
                if (g_str_has_suffix (name, "ResponseMessage")) {
-                       /* coverity[unchecked_value] */
-                       ews_get_response_status (subparam, &error);
+                       if (ews_get_response_status (subparam, &error))
+                               error = NULL;
+
                        ews_handle_items_param (subparam, async_data, error);
                } else {
                        g_warning (
@@ -7333,6 +7334,7 @@ e_ews_connection_create_attachments (EEwsConnection *cnc,
        GError *local_error = NULL;
 
        g_return_if_fail (cnc != NULL);
+       g_return_if_fail (parent != NULL);
 
        simple = g_simple_async_result_new (
                G_OBJECT (cnc), callback, user_data,
@@ -7435,6 +7437,7 @@ e_ews_connection_create_attachments_sync (EEwsConnection *cnc,
        gboolean ret;
 
        g_return_val_if_fail (cnc != NULL, FALSE);
+       g_return_val_if_fail (parent != NULL, FALSE);
 
        closure = e_async_closure_new ();
 
diff --git a/src/server/e-ews-folder.c b/src/server/e-ews-folder.c
index a80f845..5245d1a 100644
--- a/src/server/e-ews-folder.c
+++ b/src/server/e-ews-folder.c
@@ -147,22 +147,25 @@ e_ews_folder_set_from_soap_parameter (EEwsFolder *folder,
        if (priv->folder_type == E_EWS_FOLDER_TYPE_MAILBOX) {
                subparam = e_soap_parameter_get_first_child_by_name (node, "FolderClass");
                if (subparam) {
+                       EEwsFolderType folder_type;
                        gchar *folder_class = e_soap_parameter_get_string_value (subparam);
 
-                       priv->folder_type = E_EWS_FOLDER_TYPE_UNKNOWN;
+                       folder_type = E_EWS_FOLDER_TYPE_UNKNOWN;
 
                        if (g_strcmp0 (folder_class, "IPF.Note") == 0 || (folder_class && g_str_has_prefix 
(folder_class, "IPF.Note."))) {
-                               priv->folder_type = E_EWS_FOLDER_TYPE_MAILBOX;
+                               folder_type = E_EWS_FOLDER_TYPE_MAILBOX;
                        } else if (g_strcmp0 (folder_class, "IPF.Contact") == 0) {
-                               priv->folder_type = E_EWS_FOLDER_TYPE_CONTACTS;
+                               folder_type = E_EWS_FOLDER_TYPE_CONTACTS;
                        } else if (g_strcmp0 (folder_class, "IPF.Appointment") == 0) {
-                               priv->folder_type = E_EWS_FOLDER_TYPE_CALENDAR;
+                               folder_type = E_EWS_FOLDER_TYPE_CALENDAR;
                        } else if (g_strcmp0 (folder_class, "IPF.Task") == 0) {
-                               priv->folder_type = E_EWS_FOLDER_TYPE_TASKS;
+                               folder_type = E_EWS_FOLDER_TYPE_TASKS;
                        } else if (g_strcmp0 (folder_class, "IPF.StickyNote") == 0) {
-                               priv->folder_type = E_EWS_FOLDER_TYPE_MEMOS;
+                               folder_type = E_EWS_FOLDER_TYPE_MEMOS;
                        }
 
+                       priv->folder_type = folder_type;
+
                        g_free (folder_class);
                }
        }


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