[evolution-data-server] Address/mute some Coverity Scan issues



commit b6ca3215ed6de721e55dea6da562ea3a65df4182
Author: Milan Crha <mcrha redhat com>
Date:   Mon Jan 25 13:02:45 2016 +0100

    Address/mute some Coverity Scan issues

 .../libedata-book/e-book-backend-sqlitedb.c        |    2 +-
 calendar/libecal/e-cal-recur.c                     |    1 +
 camel/camel-db.c                                   |   20 ++++++++++++++++----
 camel/camel-debug.c                                |    2 +-
 camel/camel-mime-utils.c                           |    6 ++++--
 camel/camel-offline-folder.c                       |    2 +-
 camel/camel-text-index.c                           |    2 +-
 camel/providers/imapx/camel-imapx-server.c         |    3 ++-
 camel/providers/imapx/camel-imapx-store-summary.c  |    2 +-
 camel/providers/imapx/camel-imapx-store.c          |    2 +-
 camel/providers/nntp/camel-nntp-store.c            |    2 +-
 camel/providers/nntp/camel-nntp-summary.c          |    2 +-
 libebackend/e-server-side-source.c                 |    2 +-
 tests/libebook/ebook-test-utils.c                  |    2 +-
 14 files changed, 33 insertions(+), 17 deletions(-)
---
diff --git a/addressbook/libedata-book/e-book-backend-sqlitedb.c 
b/addressbook/libedata-book/e-book-backend-sqlitedb.c
index f6d2d05..923d166 100644
--- a/addressbook/libedata-book/e-book-backend-sqlitedb.c
+++ b/addressbook/libedata-book/e-book-backend-sqlitedb.c
@@ -3082,7 +3082,7 @@ e_book_backend_sqlitedb_get_vcard_string (EBookBackendSqliteDB *ebsdb,
        if (!vcard_str && error && !*error)
                g_set_error (
                        error, E_BOOK_SDB_ERROR, E_BOOK_SDB_ERROR_CONTACT_NOT_FOUND,
-                       _("Contact '%s' not found"), uid ? uid : "NULL");
+                       _("Contact '%s' not found"), uid);
 
        return vcard_str;
 }
diff --git a/calendar/libecal/e-cal-recur.c b/calendar/libecal/e-cal-recur.c
index 142380d..ffa9c03 100644
--- a/calendar/libecal/e-cal-recur.c
+++ b/calendar/libecal/e-cal-recur.c
@@ -1883,6 +1883,7 @@ cal_obj_get_vtable (ECalRecurrence *recur,
                *vtable_valid = FALSE;
        }
 
+       /* coverity[uninit] */
        return vtable;
 }
 
diff --git a/camel/camel-db.c b/camel/camel-db.c
index 0a2e78e..4f1837a 100644
--- a/camel/camel-db.c
+++ b/camel/camel-db.c
@@ -2314,8 +2314,17 @@ cdb_delete_ids (CamelDB *cdb,
 
        camel_db_begin_transaction (cdb, error);
 
-       if (ins_str)
+       if (ins_str) {
                ret = camel_db_create_deleted_table (cdb, error);
+               if (ret == -1) {
+                       camel_db_abort_transaction (cdb, NULL);
+
+                       g_string_free (ins_str, TRUE);
+                       g_string_free (str, TRUE);
+
+                       return ret;
+               }
+       }
 
        if (ins_str) {
                tab = sqlite3_mprintf ("%Q, strftime(\"%%s\", 'now') FROM %Q WHERE %s IN (", folder_name, 
folder_name, field);
@@ -2353,12 +2362,15 @@ cdb_delete_ids (CamelDB *cdb,
        if (ins_str) {
                g_string_append (ins_str, ")");
                ret = camel_db_add_to_transaction (cdb, ins_str->str, error);
-               ret = camel_db_trim_deleted_table (cdb, error);
+               ret = ret == -1 ? ret : camel_db_trim_deleted_table (cdb, error);
        }
 
-       ret = camel_db_add_to_transaction (cdb, str->str, error);
+       ret = ret == -1 ? ret : camel_db_add_to_transaction (cdb, str->str, error);
 
-       ret = camel_db_end_transaction (cdb, error);
+       if (ret == -1)
+               camel_db_abort_transaction (cdb, NULL);
+       else
+               ret = camel_db_end_transaction (cdb, error);
 
        CAMEL_DB_RELEASE_SQLITE_MEMORY;
 
diff --git a/camel/camel-debug.c b/camel/camel-debug.c
index 5e9e600..aa03190 100644
--- a/camel/camel-debug.c
+++ b/camel/camel-debug.c
@@ -935,7 +935,7 @@ backtrace_matches (const Backtrace *match_bt,
                mline = mlink->data;
                fline = flink->data;
 
-               if (!mline || !mline)
+               if (!mline || !fline)
                        break;
 
                if (g_strcmp0 (mline->function, fline->function) != 0 ||
diff --git a/camel/camel-mime-utils.c b/camel/camel-mime-utils.c
index 872474f..142af9c 100644
--- a/camel/camel-mime-utils.c
+++ b/camel/camel-mime-utils.c
@@ -446,12 +446,14 @@ camel_uudecode_step (guchar *in,
                                        *outptr++ = CAMEL_UUDECODE_CHAR (b2) << 6 | CAMEL_UUDECODE_CHAR (b3);
                                        uulen -= 3;
                                } else {
-                                       if (uulen >= 1) {
+                                       gint orig_uulen = uulen;
+
+                                       if (orig_uulen >= 1) {
                                                *outptr++ = CAMEL_UUDECODE_CHAR (b0) << 2 | 
CAMEL_UUDECODE_CHAR (b1) >> 4;
                                                uulen--;
                                        }
 
-                                       if (uulen >= 2) {
+                                       if (orig_uulen >= 2) {
                                                *outptr++ = CAMEL_UUDECODE_CHAR (b1) << 4 | 
CAMEL_UUDECODE_CHAR (b2) >> 2;
                                                uulen--;
                                        }
diff --git a/camel/camel-offline-folder.c b/camel/camel-offline-folder.c
index 3bf2abc..af18fc8 100644
--- a/camel/camel-offline-folder.c
+++ b/camel/camel-offline-folder.c
@@ -250,7 +250,7 @@ offline_folder_changed (CamelFolder *folder,
        sync_folder = camel_offline_folder_get_offline_sync (
                CAMEL_OFFLINE_FOLDER (folder));
 
-       if (changes->uid_added->len > 0 && (sync_store || sync_folder)) {
+       if (changes && changes->uid_added->len > 0 && (sync_store || sync_folder)) {
                OfflineDownsyncData *data;
                gchar *description;
 
diff --git a/camel/camel-text-index.c b/camel/camel-text-index.c
index a7db523..411a5c7 100644
--- a/camel/camel-text-index.c
+++ b/camel/camel-text-index.c
@@ -392,7 +392,7 @@ text_index_sync (CamelIndex *idx)
                        ret = text_index_compress_nosync (idx);
        }
 
-       ret = camel_block_file_sync (p->blocks);
+       ret = ret == -1 ? ret : camel_block_file_sync (p->blocks);
 
        CAMEL_TEXT_INDEX_UNLOCK (idx, lock);
 
diff --git a/camel/providers/imapx/camel-imapx-server.c b/camel/providers/imapx/camel-imapx-server.c
index 4844813..41179a2 100644
--- a/camel/providers/imapx/camel-imapx-server.c
+++ b/camel/providers/imapx/camel-imapx-server.c
@@ -1256,7 +1256,7 @@ imapx_untagged_fetch (CamelIMAPXServer *is,
                        folder = mailbox ? imapx_server_ref_folder (is, mailbox) : NULL;
                }
 
-               if (!mailbox || (!(finfo->got & FETCH_FLAGS) && !is->priv->fetch_changes_infos)) {
+               if (!mailbox || !folder || (!(finfo->got & FETCH_FLAGS) && !is->priv->fetch_changes_infos)) {
                        g_clear_object (&mailbox);
                        g_clear_object (&folder);
                        imapx_free_fetch (finfo);
@@ -2035,6 +2035,7 @@ imapx_continuation (CamelIMAPXServer *is,
                g_return_val_if_fail (ic != NULL, FALSE);
        }
 
+       /* coverity[deadcode] */
        link = ic ? ic->current_part : NULL;
        g_return_val_if_fail (link != NULL, FALSE);
        cp = (CamelIMAPXCommandPart *) link->data;
diff --git a/camel/providers/imapx/camel-imapx-store-summary.c 
b/camel/providers/imapx/camel-imapx-store-summary.c
index 577aff4..ef58f6d 100644
--- a/camel/providers/imapx/camel-imapx-store-summary.c
+++ b/camel/providers/imapx/camel-imapx-store-summary.c
@@ -57,7 +57,7 @@ namespace_load (FILE *in)
         *     delete all this cruft. */
 
        for (j = 0; j < 3; j++) {
-               gint32 i, n;
+               gint32 i, n = 0;
 
                if (camel_file_util_decode_fixed_int32 (in, &n) == -1)
                        goto exit;
diff --git a/camel/providers/imapx/camel-imapx-store.c b/camel/providers/imapx/camel-imapx-store.c
index 28d1a75..efe5a42 100644
--- a/camel/providers/imapx/camel-imapx-store.c
+++ b/camel/providers/imapx/camel-imapx-store.c
@@ -2178,7 +2178,7 @@ imapx_store_rename_folder_sync (CamelStore *store,
        new_mailbox_name = camel_imapx_folder_path_to_mailbox (new, separator);
 
        if (use_subscriptions) {
-               success = camel_imapx_conn_manager_unsubscribe_mailbox_sync (conn_man, mailbox, cancellable, 
&local_error);
+               camel_imapx_conn_manager_unsubscribe_mailbox_sync (conn_man, mailbox, cancellable, 
&local_error);
                g_clear_error (&local_error);
        }
 
diff --git a/camel/providers/nntp/camel-nntp-store.c b/camel/providers/nntp/camel-nntp-store.c
index 5d8184a..170e4e0 100644
--- a/camel/providers/nntp/camel-nntp-store.c
+++ b/camel/providers/nntp/camel-nntp-store.c
@@ -960,7 +960,7 @@ nntp_store_get_cached_folder_info (CamelNNTPStore *nntp_store,
        GPtrArray *array;
        gboolean folder_hierarchy_relative;
        gchar *tmpname;
-       gint toplen = strlen (top);
+       gint toplen = top ? strlen (top) : 0;
        gint subscribed_or_flag;
        gint root_or_flag;
        gint recursive_flag;
diff --git a/camel/providers/nntp/camel-nntp-summary.c b/camel/providers/nntp/camel-nntp-summary.c
index 4c0ed0e..ceacf4a 100644
--- a/camel/providers/nntp/camel-nntp-summary.c
+++ b/camel/providers/nntp/camel-nntp-summary.c
@@ -351,7 +351,7 @@ add_range_head (CamelNNTPSummary *cns,
                if (ret == 423)
                        continue;
                else if (ret == -1)
-                       goto ioerror;
+                       goto error;
                else if (ret != 221) {
                        g_set_error (
                                error, CAMEL_ERROR, CAMEL_ERROR_GENERIC,
diff --git a/libebackend/e-server-side-source.c b/libebackend/e-server-side-source.c
index 62b55eb..243003c 100644
--- a/libebackend/e-server-side-source.c
+++ b/libebackend/e-server-side-source.c
@@ -458,7 +458,7 @@ server_side_source_credentials_lookup_cb (GObject *source_object,
 
                g_strfreev (arg_credentials);
        } else if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) {
-               if (error) {
+               if (e_source_registry_debug_enabled ()) {
                        printf ("%s: Failed to lookup password: %s\n", G_STRFUNC, error ? error->message : 
"Unknown error");
                        fflush (stdout);
                }
diff --git a/tests/libebook/ebook-test-utils.c b/tests/libebook/ebook-test-utils.c
index c8a342d..65e5d79 100644
--- a/tests/libebook/ebook-test-utils.c
+++ b/tests/libebook/ebook-test-utils.c
@@ -416,7 +416,7 @@ ebook_test_utils_book_get_supported_auth_methods (EBook *book)
                name = e_source_get_display_name (source);
                g_warning (
                        "failed to get supported auth methods for "
-                       "addressbook `%s': %s", name, error->message);
+                       "addressbook `%s': %s", name, error ? error->message : "Unknown error");
                exit (1);
        }
 


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