[evolution-data-server] Address several issues reported by Coverity Scan
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-data-server] Address several issues reported by Coverity Scan
- Date: Thu, 18 Apr 2019 16:52:46 +0000 (UTC)
commit cb65943eee74033014e5d8313dec4a0ce32722c6
Author: Milan Crha <mcrha redhat com>
Date: Thu Apr 18 18:53:34 2019 +0200
Address several issues reported by Coverity Scan
.../libedata-book/e-book-backend-summary.c | 2 +-
src/calendar/libecal/e-reminder-watcher.c | 4 +++-
src/camel/camel-message-info.h | 2 +-
src/camel/camel-provider.h | 2 +-
src/camel/camel-text-index.c | 22 +++++++++++++++++++---
src/libedataserver/e-webdav-session.c | 2 ++
src/libedataserverui/e-reminders-widget.c | 2 +-
7 files changed, 28 insertions(+), 8 deletions(-)
---
diff --git a/src/addressbook/libedata-book/e-book-backend-summary.c
b/src/addressbook/libedata-book/e-book-backend-summary.c
index 5b5fe7a01..dec60cd23 100644
--- a/src/addressbook/libedata-book/e-book-backend-summary.c
+++ b/src/addressbook/libedata-book/e-book-backend-summary.c
@@ -230,7 +230,7 @@ e_book_backend_summary_check_magic (EBookBackendSummary *summary,
rv = fread (buf, PAS_SUMMARY_MAGIC_LEN, 1, fp);
if (rv != 1)
return FALSE;
- if (strcmp (buf, PAS_SUMMARY_MAGIC))
+ if (strncmp (buf, PAS_SUMMARY_MAGIC, PAS_SUMMARY_MAGIC_LEN))
return FALSE;
return TRUE;
diff --git a/src/calendar/libecal/e-reminder-watcher.c b/src/calendar/libecal/e-reminder-watcher.c
index 22edd9dc0..b08a7f301 100644
--- a/src/calendar/libecal/e-reminder-watcher.c
+++ b/src/calendar/libecal/e-reminder-watcher.c
@@ -290,7 +290,9 @@ client_set_last_notification_time (ECalClient *client,
iso8601 = e_source_alarms_dup_last_notified (alarms_extension);
if (iso8601) {
- g_time_val_from_iso8601 (iso8601, &tv);
+ if (!g_time_val_from_iso8601 (iso8601, &tv))
+ tv.tv_sec = 0;
+
g_free (iso8601);
}
diff --git a/src/camel/camel-message-info.h b/src/camel/camel-message-info.h
index cd2bcb910..44cc2e451 100644
--- a/src/camel/camel-message-info.h
+++ b/src/camel/camel-message-info.h
@@ -89,7 +89,7 @@ typedef enum _CamelMessageFlags {
CAMEL_MESSAGE_JUNK_LEARN = 1 << 30, /* used when setting CAMEL_MESSAGE_JUNK flag
* to say that we request junk plugin
* to learn that message as junk/non junk */
- CAMEL_MESSAGE_USER = 1 << 31 /* supports user flags */
+ CAMEL_MESSAGE_USER = 1u << 31 /* supports user flags */
} CamelMessageFlags;
/* Changes to system flags will NOT trigger a folder changed event */
diff --git a/src/camel/camel-provider.h b/src/camel/camel-provider.h
index 04cc32c3f..11261a280 100644
--- a/src/camel/camel-provider.h
+++ b/src/camel/camel-provider.h
@@ -99,7 +99,7 @@ typedef enum {
CAMEL_URL_HIDDEN_PATH = CAMEL_URL_PART_PATH << CAMEL_URL_PART_HIDDEN,
CAMEL_URL_FRAGMENT_IS_PATH = 1 << 30, /* url uses fragment for folder name path, not path */
- CAMEL_URL_PATH_IS_ABSOLUTE = 1 << 31,
+ CAMEL_URL_PATH_IS_ABSOLUTE = 1u << 31,
} CamelProviderURLFlags;
#define CAMEL_PROVIDER_IS_STORE_AND_TRANSPORT(provider) \
diff --git a/src/camel/camel-text-index.c b/src/camel/camel-text-index.c
index ba647189d..1c9bb4d59 100644
--- a/src/camel/camel-text-index.c
+++ b/src/camel/camel-text-index.c
@@ -1273,7 +1273,7 @@ camel_text_index_dump (CamelTextIndex *idx)
CamelTextIndexPrivate *p = CAMEL_TEXT_INDEX_GET_PRIVATE (idx);
#ifndef DUMP_RAW
camel_key_t keyid;
- gchar *word;
+ gchar *word = NULL;
const gchar *name;
guint flags;
camel_block_t data;
@@ -1289,8 +1289,11 @@ camel_text_index_dump (CamelTextIndex *idx)
else
printf (" %s (deleted)\n", word);
g_free (word);
+ word = NULL;
}
+ g_clear_pointer (&word, g_free);
+
printf ("Word's in index\n");
keyid = 0;
@@ -1306,7 +1309,10 @@ camel_text_index_dump (CamelTextIndex *idx)
printf ("\n");
g_object_unref (idc);
g_free (word);
+ word = NULL;
}
+
+ g_clear_pointer (&word, g_free);
#else
/* a more low-level dump routine */
GHashTable *block_type = g_hash_table_new (NULL, NULL);
@@ -1331,7 +1337,7 @@ camel_text_index_validate (CamelTextIndex *idx)
{
CamelTextIndexPrivate *p = CAMEL_TEXT_INDEX_GET_PRIVATE (idx);
camel_key_t keyid;
- gchar *word;
+ gchar *word = NULL;
const gchar *name;
guint flags;
camel_block_t data;
@@ -1369,8 +1375,12 @@ camel_text_index_validate (CamelTextIndex *idx)
g_hash_table_insert (deleted, GINT_TO_POINTER (keyid), word);
}
}
+
+ word = NULL;
}
+ g_clear_pointer (&word, g_free);
+
printf ("Checking WORD member consistency\n");
keyid = 0;
@@ -1435,13 +1445,19 @@ camel_text_index_validate (CamelTextIndex *idx)
g_free (records);
}
}
+
+ word = NULL;
}
+ g_clear_pointer (&word, g_free);
+
g_hash_table_destroy (names);
g_hash_table_destroy (deleted);
- g_hash_table_destroy (words);
g_hash_table_destroy (keys);
+ g_hash_table_foreach (words, (GHFunc) g_free, NULL);
+ g_hash_table_destroy (words);
+
g_hash_table_foreach (name_word, (GHFunc) g_free, NULL);
g_hash_table_destroy (name_word);
diff --git a/src/libedataserver/e-webdav-session.c b/src/libedataserver/e-webdav-session.c
index 32f8bcf92..accf5db31 100644
--- a/src/libedataserver/e-webdav-session.c
+++ b/src/libedataserver/e-webdav-session.c
@@ -4351,6 +4351,8 @@ e_webdav_session_extract_acl_principal (xmlXPathContextPtr xpath_ctx,
if (href)
*out_principal_hrefs = g_slist_prepend (*out_principal_hrefs,
href);
}
+
+ xmlXPathFreeObject (xpath_obj);
}
*out_principal_hrefs = g_slist_reverse (*out_principal_hrefs);
diff --git a/src/libedataserverui/e-reminders-widget.c b/src/libedataserverui/e-reminders-widget.c
index 7b42c2d95..f89cd4a5c 100644
--- a/src/libedataserverui/e-reminders-widget.c
+++ b/src/libedataserverui/e-reminders-widget.c
@@ -1028,7 +1028,7 @@ reminders_widget_add_snooze_add_button_clicked_cb (GtkButton *button,
if (!found) {
GVariant *variant;
- gint32 array[MAX_CUSTOM_SNOOZE_VALUES] = { 0 }, narray = 0, ii;
+ gint32 array[MAX_CUSTOM_SNOOZE_VALUES + 1] = { 0 }, narray = 0, ii;
variant = g_settings_get_value (reminders->priv->settings, "notify-custom-snooze-minutes");
if (variant) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]