[evolution-data-server] Fix issues found by Coverity Scan
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-data-server] Fix issues found by Coverity Scan
- Date: Tue, 14 Feb 2012 09:32:57 +0000 (UTC)
commit b9ad01ba73afb402f194c2f66a90432e47003091
Author: Milan Crha <mcrha redhat com>
Date: Tue Feb 14 10:32:05 2012 +0100
Fix issues found by Coverity Scan
addressbook/backends/ldap/e-book-backend-ldap.c | 15 +++--
addressbook/libebook/e-book-query.c | 13 +++-
addressbook/libebook/e-contact.c | 17 +++---
addressbook/libebook/e-vcard.c | 4 +-
.../libedata-book/e-book-backend-db-cache.c | 4 +-
.../libedata-book/e-book-backend-sqlitedb-test.c | 7 +-
.../libedata-book/e-book-backend-sqlitedb.c | 4 +-
addressbook/libedata-book/e-book-backend-summary.c | 3 +-
calendar/backends/caldav/e-cal-backend-caldav.c | 8 +-
.../backends/contacts/e-cal-backend-contacts.c | 9 ++-
calendar/backends/file/e-cal-backend-file.c | 20 +++---
calendar/backends/http/e-cal-backend-http.c | 2 -
calendar/backends/weather/e-cal-backend-weather.c | 5 +-
calendar/libecal/e-cal-client.c | 2 +-
calendar/libecal/e-cal.c | 4 +-
calendar/libedata-cal/e-cal-backend-sexp.c | 1 -
camel/camel-certdb.c | 8 +++
camel/camel-filter-driver.c | 5 +-
camel/camel-folder-summary.c | 18 +++---
camel/camel-folder.c | 10 +--
camel/camel-gpg-context.c | 2 +-
camel/camel-mime-part-utils.c | 2 -
camel/camel-mime-utils.c | 2 +-
camel/camel-object-bag.c | 2 +-
camel/camel-provider.c | 3 +-
camel/camel-search-private.c | 5 +-
camel/camel-search-sql-sexp.c | 5 +-
camel/camel-search-sql.c | 22 ++++++--
camel/camel-session.c | 5 +-
camel/camel-store-summary.c | 22 ++++---
camel/camel-store.c | 2 +-
camel/camel-tcp-stream-ssl.c | 8 +-
camel/camel-text-index.c | 2 +-
camel/camel-vee-folder.c | 4 +-
camel/providers/imap/camel-imap-folder.c | 6 +-
camel/providers/imap/camel-imap-search.c | 4 +-
camel/providers/imap/camel-imap-store.c | 2 +-
camel/providers/imap/camel-imap-utils.c | 4 +-
camel/providers/imapx/camel-imapx-server.c | 59 ++++++++++----------
camel/providers/imapx/camel-imapx-store-summary.c | 2 +-
camel/providers/imapx/camel-imapx-utils.c | 10 +--
camel/providers/local/camel-maildir-folder.c | 6 +-
camel/providers/local/camel-mbox-summary.c | 9 +--
camel/providers/local/camel-mh-folder.c | 8 +-
camel/providers/local/camel-mh-summary.c | 2 -
camel/providers/local/camel-spool-store.c | 4 +-
camel/providers/nntp/camel-nntp-store-summary.c | 4 +-
camel/providers/nntp/camel-nntp-store.c | 19 ++++--
camel/providers/nntp/camel-nntp-stream.c | 14 +++++
camel/providers/pop3/camel-pop3-engine.c | 1 +
camel/providers/pop3/camel-pop3-folder.c | 2 +-
camel/providers/pop3/camel-pop3-store.c | 13 ++---
.../providers/sendmail/camel-sendmail-transport.c | 8 ++-
libedataserver/e-gdbus-templates.c | 4 +-
libedataserver/e-proxy.c | 5 +-
libedataserverui/e-name-selector-entry.c | 2 +-
libedataserverui/e-source-combo-box.c | 10 ++--
libedataserverui/e-tree-model-generator.c | 12 +++-
tests/libebook/client/client-test-utils.c | 6 +-
tests/libebook/client/test-client-photo-is-uri.c | 6 +-
.../client/test-client-suppress-notifications.c | 2 +-
tests/libebook/ebook-test-utils.c | 56 +++++++++----------
tests/libebook/test-categories.c | 2 -
tests/libebook/vcard/dump-vcard.c | 4 +
tests/libecal/ecal-test-utils.c | 4 +-
tests/libecal/test-ecal.c | 5 +-
tests/libedataserverui/test-contact-store.c | 2 +-
67 files changed, 298 insertions(+), 244 deletions(-)
---
diff --git a/addressbook/backends/ldap/e-book-backend-ldap.c b/addressbook/backends/ldap/e-book-backend-ldap.c
index 470f6ae..58f5a45 100644
--- a/addressbook/backends/ldap/e-book-backend-ldap.c
+++ b/addressbook/backends/ldap/e-book-backend-ldap.c
@@ -4365,7 +4365,7 @@ e_book_backend_ldap_build_query (EBookBackendLDAP *bl,
}
else {
if (bl->priv->ldap_search_filter && *bl->priv->ldap_search_filter
- && g_ascii_strncasecmp(bl->priv->ldap_search_filter,"(objectClass=*)",sizeof(bl->priv->ldap_search_filter))) {
+ && g_ascii_strcasecmp (bl->priv->ldap_search_filter, "(objectClass=*)") != 0) {
strings = g_new0 (gchar *, 5);
strings[0] = g_strdup ("(&");
strings[1] = g_strdup_printf ("%s", bl->priv->ldap_search_filter);
@@ -4646,9 +4646,12 @@ poll_ldap (EBookBackendLDAP *bl)
if (rc != 0) {/* rc == 0 means timeout exceeded */
if (rc == -1) {
EDataBookView *book_view = find_book_view (bl);
- g_warning ("ldap_result returned -1, restarting ops");
+ g_warning ("%s: ldap_result returned -1, restarting ops", G_STRFUNC);
- e_book_backend_ldap_reconnect (bl, book_view, LDAP_SERVER_DOWN);
+ if (!e_book_backend_ldap_reconnect (bl, book_view, LDAP_SERVER_DOWN)) {
+ g_warning ("%s: Failed to reconnect to LDAP server", G_STRFUNC);
+ return FALSE;
+ }
#if 0
if (bl->priv->connected)
restart_ops (bl);
@@ -4852,9 +4855,9 @@ e_book_backend_ldap_search (EBookBackendLDAP *bl,
g_static_rec_mutex_unlock (&eds_ldap_handler_lock);
- view_limit = -1;
- if (view_limit == -1 || view_limit > bl->priv->ldap_limit)
- view_limit = bl->priv->ldap_limit;
+ view_limit = bl->priv->ldap_limit;
+ /* if (view_limit == -1 || view_limit > bl->priv->ldap_limit)
+ view_limit = bl->priv->ldap_limit; */
if (enable_debug)
printf ("searching server using filter: %s (expecting max %d results)\n", ldap_query, view_limit);
diff --git a/addressbook/libebook/e-book-query.c b/addressbook/libebook/e-book-query.c
index a839b87..fd5421f 100644
--- a/addressbook/libebook/e-book-query.c
+++ b/addressbook/libebook/e-book-query.c
@@ -118,7 +118,6 @@ conjoinv (EBookQueryType type,
g_ptr_array_add (qs, q);
q = va_arg (ap, EBookQuery *);
}
- va_end (ap);
ret->type = type;
ret->query.andor.nqs = qs->len;
@@ -140,10 +139,14 @@ conjoinv (EBookQueryType type,
EBookQuery *
e_book_query_andv (EBookQuery *q, ...)
{
+ EBookQuery *res;
va_list ap;
va_start (ap, q);
- return conjoinv (E_BOOK_QUERY_TYPE_AND, q, ap);
+ res = conjoinv (E_BOOK_QUERY_TYPE_AND, q, ap);
+ va_end (ap);
+
+ return res;
}
/**
@@ -158,10 +161,14 @@ e_book_query_andv (EBookQuery *q, ...)
EBookQuery *
e_book_query_orv (EBookQuery *q, ...)
{
+ EBookQuery *res;
va_list ap;
va_start (ap, q);
- return conjoinv (E_BOOK_QUERY_TYPE_OR, q, ap);
+ res = conjoinv (E_BOOK_QUERY_TYPE_OR, q, ap);
+ va_end (ap);
+
+ return res;
}
/**
diff --git a/addressbook/libebook/e-contact.c b/addressbook/libebook/e-contact.c
index 22ac944..f7acc55 100644
--- a/addressbook/libebook/e-contact.c
+++ b/addressbook/libebook/e-contact.c
@@ -1380,7 +1380,7 @@ e_contact_duplicate (EContact *contact)
const gchar *
e_contact_field_name (EContactField field_id)
{
- g_return_val_if_fail (field_id >= 1 && field_id <= E_CONTACT_FIELD_LAST, "");
+ g_return_val_if_fail (field_id >= 1 && field_id < E_CONTACT_FIELD_LAST, "");
return field_info[field_id].field_name;
}
@@ -1397,7 +1397,7 @@ e_contact_field_name (EContactField field_id)
const gchar *
e_contact_pretty_name (EContactField field_id)
{
- g_return_val_if_fail (field_id >= 1 && field_id <= E_CONTACT_FIELD_LAST, "");
+ g_return_val_if_fail (field_id >= 1 && field_id < E_CONTACT_FIELD_LAST, "");
#ifdef ENABLE_NLS
bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
@@ -1418,7 +1418,7 @@ e_contact_pretty_name (EContactField field_id)
const gchar *
e_contact_vcard_attribute (EContactField field_id)
{
- g_return_val_if_fail (field_id >= 1 && field_id <= E_CONTACT_FIELD_LAST, "");
+ g_return_val_if_fail (field_id >= 1 && field_id < E_CONTACT_FIELD_LAST, "");
return field_info[field_id].vcard_field_name;
}
@@ -1487,7 +1487,7 @@ e_contact_get (EContact *contact,
const EContactFieldInfo *info = NULL;
g_return_val_if_fail (contact && E_IS_CONTACT (contact), NULL);
- g_return_val_if_fail (field_id >= 1 && field_id <= E_CONTACT_FIELD_LAST, NULL);
+ g_return_val_if_fail (field_id >= 1 && field_id < E_CONTACT_FIELD_LAST, NULL);
info = &field_info[field_id];
@@ -1689,6 +1689,7 @@ e_contact_get_const (EContact *contact,
gpointer value = NULL;
g_return_val_if_fail (E_IS_CONTACT (contact), NULL);
+ g_return_val_if_fail (field_id >= 1 && field_id < E_CONTACT_FIELD_LAST, NULL);
g_return_val_if_fail (field_info[field_id].t & E_CONTACT_FIELD_TYPE_STRING, NULL);
value = contact->priv->cached_strings[field_id];
@@ -1718,7 +1719,7 @@ e_contact_set (EContact *contact,
d(printf ("e_contact_set (%p, %d, %p)\n", contact, field_id, value));
g_return_if_fail (contact && E_IS_CONTACT (contact));
- g_return_if_fail (field_id >= 1 && field_id <= E_CONTACT_FIELD_LAST);
+ g_return_if_fail (field_id >= 1 && field_id < E_CONTACT_FIELD_LAST);
/* set the cached slot to NULL so we'll re-get the new string
* if e_contact_get_const is called again */
@@ -1748,7 +1749,7 @@ e_contact_get_attributes (EContact *contact,
const EContactFieldInfo *info = NULL;
g_return_val_if_fail (contact && E_IS_CONTACT (contact), NULL);
- g_return_val_if_fail (field_id >= 1 && field_id <= E_CONTACT_FIELD_LAST, NULL);
+ g_return_val_if_fail (field_id >= 1 && field_id < E_CONTACT_FIELD_LAST, NULL);
info = &field_info[field_id];
@@ -1786,7 +1787,7 @@ e_contact_set_attributes (EContact *contact,
GList *l;
g_return_if_fail (contact && E_IS_CONTACT (contact));
- g_return_if_fail (field_id >= 1 && field_id <= E_CONTACT_FIELD_LAST);
+ g_return_if_fail (field_id >= 1 && field_id < E_CONTACT_FIELD_LAST);
info = &field_info[field_id];
@@ -1856,7 +1857,7 @@ e_contact_name_from_string (const gchar *name_str)
g_return_val_if_fail (name_str != NULL, NULL);
name = e_contact_name_new ();
- western = e_name_western_parse (name_str ? name_str : "");
+ western = e_name_western_parse (name_str);
name->prefixes = g_strdup (western->prefix);
name->given = g_strdup (western->first );
diff --git a/addressbook/libebook/e-vcard.c b/addressbook/libebook/e-vcard.c
index aa915a6..0d1aade 100644
--- a/addressbook/libebook/e-vcard.c
+++ b/addressbook/libebook/e-vcard.c
@@ -1406,7 +1406,7 @@ e_vcard_attribute_get_type (void)
* e_vcard_remove_attributes:
* @evc: vcard object
* @attr_group: (allow-none): group name of attributes to be removed
- * @attr_name: (allow-none): name of the arributes to be removed
+ * @attr_name: name of the arributes to be removed
*
* Removes all the attributes with group name and attribute name equal to
* passed in values. If @attr_group is %NULL or an empty string,
@@ -1432,7 +1432,7 @@ e_vcard_remove_attributes (EVCard *evc,
if (((!attr_group || *attr_group == '\0') ||
(attr_group && !g_ascii_strcasecmp (attr_group, a->group))) &&
- ((!attr_name && !a->name) || !g_ascii_strcasecmp (attr_name, a->name))) {
+ ((!a->name) || !g_ascii_strcasecmp (attr_name, a->name))) {
/* matches, remove/delete the attribute */
evc->priv->attributes = g_list_delete_link (evc->priv->attributes, attr);
diff --git a/addressbook/libedata-book/e-book-backend-db-cache.c b/addressbook/libedata-book/e-book-backend-db-cache.c
index 2a6daf0..7c52cc4 100644
--- a/addressbook/libedata-book/e-book-backend-db-cache.c
+++ b/addressbook/libedata-book/e-book-backend-db-cache.c
@@ -32,7 +32,7 @@ void
string_to_dbt (const gchar *str,
DBT *dbt)
{
- memset (dbt, 0, sizeof (dbt));
+ memset (dbt, 0, sizeof (DBT));
dbt->data = (gpointer) str;
dbt->size = strlen (str) + 1;
dbt->flags = DB_DBT_USERMEM;
@@ -299,7 +299,7 @@ e_book_backend_db_cache_get_contacts (DB *db,
if (vcard_dbt.data && !strncmp (vcard_dbt.data, "BEGIN:VCARD", 11)) {
contact = e_contact_new_from_vcard (vcard_dbt.data);
- if (e_book_backend_sexp_match_contact (sexp, contact))
+ if (!sexp || e_book_backend_sexp_match_contact (sexp, contact))
list = g_list_prepend (list, contact);
else
g_object_unref (contact);
diff --git a/addressbook/libedata-book/e-book-backend-sqlitedb-test.c b/addressbook/libedata-book/e-book-backend-sqlitedb-test.c
index 2525268..7e703bb 100644
--- a/addressbook/libedata-book/e-book-backend-sqlitedb-test.c
+++ b/addressbook/libedata-book/e-book-backend-sqlitedb-test.c
@@ -115,13 +115,12 @@ start_tests (gpointer data)
gchar *vcard_str = NULL, *sexp;
EBookQuery *q;
GSList *uids = NULL;
- gboolean store_vcard = FALSE;
g_print ("Creating the sqlitedb \n");
op = "create sqlitedb";
ebsdb = e_book_backend_sqlitedb_new
(cache_path, email, folderid, folder_name,
- store_vcard, &error);
+ FALSE, &error);
if (error)
goto exit;
@@ -164,7 +163,7 @@ start_tests (gpointer data)
if (error)
goto exit;
- if (store_vcard) {
+ /* if (store_vcard) {
q = e_book_query_any_field_contains ("word");
sexp = e_book_query_to_string (q);
search_db (ebsdb, "full_search query", sexp);
@@ -172,7 +171,7 @@ start_tests (gpointer data)
g_free (sexp);
if (error)
goto exit;
- }
+ } */
g_print ("Delete contact \n");
op = "delete contact";
diff --git a/addressbook/libedata-book/e-book-backend-sqlitedb.c b/addressbook/libedata-book/e-book-backend-sqlitedb.c
index bc49ddf..7e6e82a 100644
--- a/addressbook/libedata-book/e-book-backend-sqlitedb.c
+++ b/addressbook/libedata-book/e-book-backend-sqlitedb.c
@@ -1421,8 +1421,10 @@ sexp_to_sql_query (const gchar *query)
res = g_strdup (r->value.string);
else
res = NULL;
- } else
+ } else {
g_warn_if_reached ();
+ res = NULL;
+ }
e_sexp_result_free (sexp, r);
e_sexp_unref (sexp);
diff --git a/addressbook/libedata-book/e-book-backend-summary.c b/addressbook/libedata-book/e-book-backend-summary.c
index bf49ace..637286a 100644
--- a/addressbook/libedata-book/e-book-backend-summary.c
+++ b/addressbook/libedata-book/e-book-backend-summary.c
@@ -727,8 +727,7 @@ e_book_backend_summary_save (EBookBackendSummary *summary)
lose:
if (fp)
fclose (fp);
- if (new_filename)
- g_unlink (new_filename);
+ g_unlink (new_filename);
g_free (new_filename);
return FALSE;
}
diff --git a/calendar/backends/caldav/e-cal-backend-caldav.c b/calendar/backends/caldav/e-cal-backend-caldav.c
index b4ba3c9..32e2d19 100644
--- a/calendar/backends/caldav/e-cal-backend-caldav.c
+++ b/calendar/backends/caldav/e-cal-backend-caldav.c
@@ -1718,7 +1718,7 @@ caldav_receive_schedule_outbox_url (ECalBackendCalDAV *cbdav)
nsdav = xmlNewNs (root, (xmlChar *) "DAV:", NULL);
node = xmlNewTextChild (root, nsdav, (xmlChar *) "prop", NULL);
- node = xmlNewTextChild (node, nsdav, (xmlChar *) "owner", NULL);
+ xmlNewTextChild (node, nsdav, (xmlChar *) "owner", NULL);
buf = xmlAllocOutputBuffer (NULL);
xmlNodeDumpOutput (buf, doc, root, 0, 1, NULL);
@@ -1768,7 +1768,7 @@ caldav_receive_schedule_outbox_url (ECalBackendCalDAV *cbdav)
nscd = xmlNewNs (root, (xmlChar *) "urn:ietf:params:xml:ns:caldav", (xmlChar *) "C");
node = xmlNewTextChild (root, nsdav, (xmlChar *) "prop", NULL);
- node = xmlNewTextChild (node, nscd, (xmlChar *) "schedule-outbox-URL", NULL);
+ xmlNewTextChild (node, nscd, (xmlChar *) "schedule-outbox-URL", NULL);
buf = xmlAllocOutputBuffer (NULL);
xmlNodeDumpOutput (buf, doc, root, 0, 1, NULL);
@@ -2501,6 +2501,8 @@ initialize_backend (ECalBackendCalDAV *cbdav,
soup_uri_free (suri);
}
+ g_return_val_if_fail (priv->uri != NULL, FALSE);
+
/* remove trailing slashes... */
len = strlen (priv->uri);
while (len--) {
@@ -4452,8 +4454,6 @@ caldav_get_object_list (ECalBackendSync *backend,
prunning_by_time = e_cal_backend_sexp_evaluate_occur_times (sexp, &occur_start, &occur_end);
- bkend = E_CAL_BACKEND (backend);
-
list = prunning_by_time ?
e_cal_backend_store_get_components_occuring_in_range (priv->store, occur_start, occur_end)
: e_cal_backend_store_get_components (priv->store);
diff --git a/calendar/backends/contacts/e-cal-backend-contacts.c b/calendar/backends/contacts/e-cal-backend-contacts.c
index 7093067..10e0c22 100644
--- a/calendar/backends/contacts/e-cal-backend-contacts.c
+++ b/calendar/backends/contacts/e-cal-backend-contacts.c
@@ -1320,6 +1320,9 @@ init_sources_cb (ECalBackendContacts *cbc)
priv = cbc->priv;
+ if (!priv->addressbook_sources)
+ return NULL;
+
/* Create address books for existing sources */
for (i = e_source_list_peek_groups (priv->addressbook_sources); i; i = i->next) {
ESourceGroup *source_group = E_SOURCE_GROUP (i->data);
@@ -1508,7 +1511,8 @@ e_cal_backend_contacts_finalize (GObject *object)
priv->update_alarms_id = 0;
}
- g_object_unref (priv->addressbook_sources);
+ if (priv->addressbook_sources)
+ g_object_unref (priv->addressbook_sources);
g_hash_table_destroy (priv->addressbooks);
g_hash_table_destroy (priv->credentials);
g_hash_table_destroy (priv->tracked_contacts);
@@ -1537,7 +1541,8 @@ e_cal_backend_contacts_init (ECalBackendContacts *cbc)
priv = g_new0 (ECalBackendContactsPrivate, 1);
- e_book_client_get_sources (&priv->addressbook_sources, NULL);
+ if (!e_book_client_get_sources (&priv->addressbook_sources, NULL))
+ priv->addressbook_sources = NULL;
priv->addressbooks = g_hash_table_new_full (g_str_hash, g_str_equal,
g_free, (GDestroyNotify) book_record_free);
diff --git a/calendar/backends/file/e-cal-backend-file.c b/calendar/backends/file/e-cal-backend-file.c
index cc2a908..349f0fb 100644
--- a/calendar/backends/file/e-cal-backend-file.c
+++ b/calendar/backends/file/e-cal-backend-file.c
@@ -157,6 +157,7 @@ save_file_when_idle (gpointer user_data)
GError *e = NULL;
GFile *file, *backup_file;
GFileOutputStream *stream;
+ gboolean succeeded;
gchar *tmp, *backup_uristr;
gchar *buf;
ECalBackendFile *cbfile = user_data;
@@ -208,20 +209,20 @@ save_file_when_idle (gpointer user_data)
}
buf = icalcomponent_as_ical_string_r (priv->icalcomp);
- g_output_stream_write_all (G_OUTPUT_STREAM (stream), buf, strlen (buf) * sizeof (gchar), NULL, NULL, &e);
+ succeeded = g_output_stream_write_all (G_OUTPUT_STREAM (stream), buf, strlen (buf) * sizeof (gchar), NULL, NULL, &e);
g_free (buf);
- if (e) {
+ if (!succeeded || e) {
g_object_unref (stream);
g_object_unref (file);
g_object_unref (backup_file);
goto error;
}
- g_output_stream_close (G_OUTPUT_STREAM (stream), NULL, &e);
+ succeeded = g_output_stream_close (G_OUTPUT_STREAM (stream), NULL, &e);
g_object_unref (stream);
- if (e) {
+ if (!succeeded || e) {
g_object_unref (file);
g_object_unref (backup_file);
goto error;
@@ -2900,8 +2901,8 @@ e_cal_backend_file_remove_object (ECalBackendSync *backend,
break;
case CALOBJ_MOD_ONLY_THIS:
case CALOBJ_MOD_THIS :
- obj_data = remove_instance (cbfile, obj_data, uid, recur_id, mod,
- old_component, new_component, error);
+ remove_instance (cbfile, obj_data, uid, recur_id, mod,
+ old_component, new_component, error);
break;
case CALOBJ_MOD_THISANDPRIOR :
case CALOBJ_MOD_THISANDFUTURE :
@@ -3824,10 +3825,9 @@ main (gint argc,
}
cbfile = g_object_new (E_TYPE_CAL_BACKEND_FILE, NULL);
- open_cal (cbfile, calendar_fname, NULL);
- if (cbfile == NULL)
- {
- g_message (G_STRLOC " Could not open calendar %s", calendar_fname);
+ open_cal (cbfile, calendar_fname, &error);
+ if (error != NULL) {
+ g_message (G_STRLOC " Could not open calendar %s: %s", calendar_fname, error->message);
exit (-1);
}
diff --git a/calendar/backends/http/e-cal-backend-http.c b/calendar/backends/http/e-cal-backend-http.c
index c378f45..c81a4ed 100644
--- a/calendar/backends/http/e-cal-backend-http.c
+++ b/calendar/backends/http/e-cal-backend-http.c
@@ -1181,8 +1181,6 @@ create_user_free_busy (ECalBackendHttp *cbhttp,
if (!obj_sexp)
return vfb;
- if (!obj_sexp)
- return vfb;
slist = e_cal_backend_store_get_components (store);
diff --git a/calendar/backends/weather/e-cal-backend-weather.c b/calendar/backends/weather/e-cal-backend-weather.c
index d47754f..ab6b0f3 100644
--- a/calendar/backends/weather/e-cal-backend-weather.c
+++ b/calendar/backends/weather/e-cal-backend-weather.c
@@ -639,10 +639,9 @@ e_cal_backend_weather_get_object_list (ECalBackendSync *backend,
}
*objects = NULL;
- components = e_cal_backend_store_get_components (priv->store);
prunning_by_time = e_cal_backend_sexp_evaluate_occur_times (sexp,
- &occur_start,
- &occur_end);
+ &occur_start,
+ &occur_end);
components = prunning_by_time ?
e_cal_backend_store_get_components_occuring_in_range (priv->store, occur_start, occur_end)
diff --git a/calendar/libecal/e-cal-client.c b/calendar/libecal/e-cal-client.c
index 383d0c3..151ab9d 100644
--- a/calendar/libecal/e-cal-client.c
+++ b/calendar/libecal/e-cal-client.c
@@ -1593,7 +1593,7 @@ get_objects_sync (ECalClient *client,
try_again:
if (!e_cal_client_get_objects_for_uid_sync (client, uid, &objects, NULL, &error)) {
- if (g_error_matches (error, E_CLIENT_ERROR, E_CLIENT_ERROR_BUSY) && tries >= 10) {
+ if (g_error_matches (error, E_CLIENT_ERROR, E_CLIENT_ERROR_BUSY) && tries <= 10) {
tries++;
g_usleep (500);
g_clear_error (&error);
diff --git a/calendar/libecal/e-cal.c b/calendar/libecal/e-cal.c
index bef8cab..26b5066 100644
--- a/calendar/libecal/e-cal.c
+++ b/calendar/libecal/e-cal.c
@@ -3063,6 +3063,8 @@ process_detached_instances (GList *instances,
ECalComponentRange recur_id, instance_recur_id;
processed = FALSE;
+ recur_id.type = E_CAL_COMPONENT_RANGE_SINGLE;
+ instance_recur_id.type = E_CAL_COMPONENT_RANGE_SINGLE;
cid = dl->data;
e_cal_component_get_uid (cid->comp, &uid);
@@ -4377,7 +4379,7 @@ e_cal_get_timezone (ECal *ecal,
g_hash_table_insert (priv->timezones, (gpointer) icaltimezone_get_tzid (*zone), *zone);
UNLOCK_CACHE ();
- E_CALENDAR_CHECK_STATUS (status, error);
+ return TRUE;
}
/**
diff --git a/calendar/libedata-cal/e-cal-backend-sexp.c b/calendar/libedata-cal/e-cal-backend-sexp.c
index 121ad1e..cc0b8d6 100644
--- a/calendar/libedata-cal/e-cal-backend-sexp.c
+++ b/calendar/libedata-cal/e-cal-backend-sexp.c
@@ -558,7 +558,6 @@ func_due_in_time_range (ESExp *esexp,
if (dt.value != NULL) {
zone = resolve_tzid (dt.tzid, ctx);
- result = e_sexp_result_new (esexp, ESEXP_RES_INT);
if (zone)
due_t = icaltime_as_timet_with_zone (*dt.value,zone);
else
diff --git a/camel/camel-certdb.c b/camel/camel-certdb.c
index 4e1c6a4..68bac3f 100644
--- a/camel/camel-certdb.c
+++ b/camel/camel-certdb.c
@@ -248,6 +248,10 @@ camel_certdb_load (CamelCertDB *certdb)
return -1;
class = CAMEL_CERTDB_GET_CLASS (certdb);
+ if (!class->header_load || !class->cert_load) {
+ fclose (in);
+ in = NULL;
+ }
g_return_val_if_fail (class->header_load != NULL, -1);
g_return_val_if_fail (class->cert_load != NULL, -1);
@@ -348,6 +352,10 @@ camel_certdb_save (CamelCertDB *certdb)
}
class = CAMEL_CERTDB_GET_CLASS (certdb);
+ if (!class->header_save || !class->cert_save) {
+ fclose (out);
+ out = NULL;
+ }
g_return_val_if_fail (class->header_save != NULL, -1);
g_return_val_if_fail (class->cert_save != NULL, -1);
diff --git a/camel/camel-filter-driver.c b/camel/camel-filter-driver.c
index 78fa167..b74f277 100644
--- a/camel/camel-filter-driver.c
+++ b/camel/camel-filter-driver.c
@@ -428,6 +428,7 @@ report_status (CamelFilterDriver *driver,
if (driver->priv->statusfunc) {
va_start (ap, desc);
str = g_strdup_vprintf (desc, ap);
+ va_end (ap);
driver->priv->statusfunc (driver, status, pc, str, driver->priv->statusdata);
g_free (str);
}
@@ -1184,6 +1185,7 @@ camel_filter_driver_log (CamelFilterDriver *driver,
va_start (ap, desc);
str = g_strdup_vprintf (desc, ap);
+ va_end (ap);
}
switch (status) {
@@ -1355,7 +1357,8 @@ camel_filter_driver_filter_mbox (CamelFilterDriver *driver,
goto fail;
}
/* to get the filesize */
- fstat (fd, &st);
+ if (fstat (fd, &st) != 0)
+ st.st_size = 0;
mp = camel_mime_parser_new ();
camel_mime_parser_scan_from (mp, TRUE);
diff --git a/camel/camel-folder-summary.c b/camel/camel-folder-summary.c
index 1641b68..42e7fcf 100644
--- a/camel/camel-folder-summary.c
+++ b/camel/camel-folder-summary.c
@@ -2467,15 +2467,17 @@ save_to_db_cb (gpointer key,
}
}
+ g_return_if_fail (mir != NULL);
+
if (!args->migration) {
if (camel_db_write_message_info_record (cdb, full_name, mir, error) != 0) {
- camel_db_camel_mir_free (mir);
- return;
+ camel_db_camel_mir_free (mir);
+ return;
}
} else {
if (camel_db_write_fresh_message_info_record (cdb, CAMEL_DB_IN_MEMORY_TABLE, mir, error) != 0) {
- camel_db_camel_mir_free (mir);
- return;
+ camel_db_camel_mir_free (mir);
+ return;
}
if (args->progress > CAMEL_DB_IN_MEMORY_TABLE_LIMIT) {
@@ -2559,6 +2561,8 @@ camel_folder_summary_save_to_db (CamelFolderSummary *summary,
CamelFIRecord *record;
gint ret, count;
+ g_return_val_if_fail (summary != NULL, FALSE);
+
if (!(summary->flags & CAMEL_SUMMARY_DIRTY))
return TRUE;
@@ -2698,11 +2702,7 @@ camel_folder_summary_header_load_from_db (CamelFolderSummary *summary,
record = g_new0 (CamelFIRecord, 1);
camel_db_read_folder_info_record (cdb, folder_name, record, error);
- if (record) {
- ret = CAMEL_FOLDER_SUMMARY_GET_CLASS (summary)->summary_header_from_db (summary, record);
- } else {
- ret = FALSE;
- }
+ ret = CAMEL_FOLDER_SUMMARY_GET_CLASS (summary)->summary_header_from_db (summary, record);
g_free (record->folder_name);
g_free (record->bdata);
diff --git a/camel/camel-folder.c b/camel/camel-folder.c
index e14a6a1..e03f92b 100644
--- a/camel/camel-folder.c
+++ b/camel/camel-folder.c
@@ -1133,9 +1133,8 @@ fetch_messages_finish (CamelFolder *folder,
async_context = g_simple_async_result_get_op_res_gpointer (simple);
/* Assume success unless a GError is set. */
- g_simple_async_result_propagate_error (simple, error);
-
- return async_context->success;
+ return !g_simple_async_result_propagate_error (simple, error)
+ && async_context->success;
}
static void
@@ -1345,9 +1344,8 @@ purge_message_cache_finish (CamelFolder *folder,
async_context = g_simple_async_result_get_op_res_gpointer (simple);
/* Assume success unless a GError is set. */
- g_simple_async_result_propagate_error (simple, error);
-
- return async_context->success;
+ return !g_simple_async_result_propagate_error (simple, error)
+ && async_context->success;
}
static void
diff --git a/camel/camel-gpg-context.c b/camel/camel-gpg-context.c
index 6ce5930..477d345 100644
--- a/camel/camel-gpg-context.c
+++ b/camel/camel-gpg-context.c
@@ -935,7 +935,7 @@ gpg_ctx_parse_status (struct _GpgCtx *gpg,
i++;
}
- if (str && *str && i == 2) {
+ if (*str && i == 2) {
struct {
gint gpg_hash_algo;
CamelCipherHash camel_hash_algo;
diff --git a/camel/camel-mime-part-utils.c b/camel/camel-mime-part-utils.c
index 2829bd9..7c08c82 100644
--- a/camel/camel-mime-part-utils.c
+++ b/camel/camel-mime-part-utils.c
@@ -206,8 +206,6 @@ camel_mime_message_build_preview (CamelMimePart *msg,
/* We should fetch just 200 unquoted lines. */
while ((line = camel_stream_buffer_read_line ((CamelStreamBuffer *) bstream, NULL, NULL)) && str->len < 200) {
gchar *tmp = line;
- if (!line)
- continue;
if (*line == '>' || strstr(line, "wrote:")) {
g_free (tmp);
diff --git a/camel/camel-mime-utils.c b/camel/camel-mime-utils.c
index 55393e2..1d620df 100644
--- a/camel/camel-mime-utils.c
+++ b/camel/camel-mime-utils.c
@@ -3490,7 +3490,7 @@ camel_header_param_list_format_append (GString *out,
if (!encoded) {
gchar *ch;
- for (ch = value; *ch; ch++) {
+ for (ch = value; ch && *ch; ch++) {
if (camel_mime_is_tspecial (*ch) || camel_mime_is_lwsp (*ch))
break;
}
diff --git a/camel/camel-object-bag.c b/camel/camel-object-bag.c
index d9b6b33..b4a9da6 100644
--- a/camel/camel-object-bag.c
+++ b/camel/camel-object-bag.c
@@ -317,7 +317,7 @@ camel_object_bag_reserve (CamelObjectBag *bag,
/* If no such key exists in the bag, create a reservation. */
reservation = key_reservation_lookup (bag, key);
if (reservation == NULL) {
- reservation = key_reservation_new (bag, key);
+ key_reservation_new (bag, key);
g_mutex_unlock (bag->mutex);
return NULL;
}
diff --git a/camel/camel-provider.c b/camel/camel-provider.c
index 43e5035..83dd13b 100644
--- a/camel/camel-provider.c
+++ b/camel/camel-provider.c
@@ -141,7 +141,8 @@ camel_provider_init (void)
}
p = strrchr (name, '.');
- strcpy (p, "." G_MODULE_SUFFIX);
+ if (p)
+ strcpy (p, "." G_MODULE_SUFFIX);
m = g_malloc0 (sizeof (*m));
m->path = name;
diff --git a/camel/camel-search-private.c b/camel/camel-search-private.c
index 645a5a7..0d09cc3 100644
--- a/camel/camel-search-private.c
+++ b/camel/camel-search-private.c
@@ -148,7 +148,7 @@ soundexify (const gchar *sound,
for (c = (guchar *) sound; *c && !isalpha (*c); c++);
code[0] = toupper (*c);
- memset (code + 1, '0', 3);
+ memset (code + 1, 0, 3);
for (n = 1; *c && n < 5; c++) {
guchar ch = soundex_table[*c];
@@ -211,7 +211,8 @@ camel_ustrstrcase (const gchar *haystack,
if (strlen (haystack) == 0)
return NULL;
- puni = nuni = g_alloca (sizeof (gunichar) * strlen (needle));
+ puni = nuni = g_alloca (sizeof (gunichar) * (strlen (needle) + 1));
+ nuni[0] = 0;
p = (const guchar *) needle;
while ((u = camel_utf8_getc (&p)))
diff --git a/camel/camel-search-sql-sexp.c b/camel/camel-search-sql-sexp.c
index 07f6146..92d05da 100644
--- a/camel/camel-search-sql-sexp.c
+++ b/camel/camel-search-sql-sexp.c
@@ -729,7 +729,10 @@ camel_sexp_to_sql_sexp (const gchar *sql)
}
camel_sexp_input_text (sexp, sql, strlen (sql));
- camel_sexp_parse (sexp);
+ if (camel_sexp_parse (sexp)) {
+ g_object_unref (sexp);
+ return NULL;
+ }
r = camel_sexp_eval (sexp);
if (!r) {
diff --git a/camel/camel-search-sql.c b/camel/camel-search-sql.c
index 1bc8879..de5db79 100644
--- a/camel/camel-search-sql.c
+++ b/camel/camel-search-sql.c
@@ -313,7 +313,10 @@ camel_sexp_to_sql (const gchar *sexp)
/* These should be normal tokens */
if (i >= G_N_ELEMENTS (elements)) {
- Node *pnode = operands->data;
+ Node *pnode;
+
+ g_return_val_if_fail (operands != NULL, NULL);
+ pnode = operands->data;
node = g_new0 (Node, 1);
node->token = g_strdup (token);
@@ -353,9 +356,12 @@ camel_sexp_to_sql (const gchar *sexp)
all = g_list_prepend (all, node);
} else if (token == '+') {
gchar *astr = NULL, *bstr = NULL;
- Node *node, *pnode = operands->data;
+ Node *node, *pnode;
gint lvl = 0, lval = 0;
+ g_return_val_if_fail (operands != NULL, NULL);
+ pnode = operands->data;
+
if (g_ascii_strcasecmp (pnode->token, "user-flag") == 0) {
/* Colloct all after '+' and append them to one token. Go till you find ')' */
token = g_scanner_get_next_token (scanner);
@@ -413,9 +419,12 @@ camel_sexp_to_sql (const gchar *sexp)
level--;
} else if (token == '-') {
gchar *bstr = NULL;
- Node *node, *pnode = operands->data;
+ Node *node, *pnode;
gint lvl = 0, lval = 0;
+ g_return_val_if_fail (operands != NULL, NULL);
+ pnode = operands->data;
+
/* Colloct all after '+' and append them to one token. Go till you find ')' */
token = g_scanner_get_next_token (scanner);
while (!g_scanner_eof (scanner) && lvl >=0 ) {
@@ -471,7 +480,10 @@ camel_sexp_to_sql (const gchar *sexp)
operators = g_list_prepend (operators, node);
all = g_list_prepend (all, node);
} else if (token == G_TOKEN_INT) {
- Node *pnode = operands->data, *node;
+ Node *pnode, *node;
+
+ g_return_val_if_fail (operands != NULL, NULL);
+ pnode = operands->data;
node = g_new0 (Node, 1);
node->token = g_strdup_printf ("%ld", scanner->value.v_int);
@@ -664,7 +676,7 @@ camel_sexp_to_sql (const gchar *sexp)
dbl = TRUE;
}
}
- str = g_strdup_printf("(%s %c%s %s)", n2->exact_token, prefix ? prefix : ' ', opnode->exact_token, n1->exact_token);
+ str = g_strdup_printf("(%s %c%s %s)", n2->exact_token, prefix ? prefix : ' ', opnode ? opnode->exact_token : "", n1->exact_token);
if (opnode) {
free_node (opnode);
diff --git a/camel/camel-session.c b/camel/camel-session.c
index 0b183dd..daf8d8f 100644
--- a/camel/camel-session.c
+++ b/camel/camel-session.c
@@ -141,7 +141,7 @@ session_finish_job_cb (CamelSession *session,
JobData *job_data;
GError *error = NULL;
- g_simple_async_result_propagate_error (simple, &error);
+ g_warn_if_fail (g_simple_async_result_propagate_error (simple, &error));
job_data = g_simple_async_result_get_op_res_gpointer (simple);
g_signal_emit (
@@ -914,9 +914,6 @@ camel_session_get_service_by_url (CamelSession *session,
if (provider == NULL)
continue;
- if (provider == NULL)
- continue;
-
if (provider->url_equal == NULL)
continue;
diff --git a/camel/camel-store-summary.c b/camel/camel-store-summary.c
index a1379d3..a17094d 100644
--- a/camel/camel-store-summary.c
+++ b/camel/camel-store-summary.c
@@ -178,10 +178,14 @@ store_summary_store_info_load (CamelStoreSummary *summary,
io (printf ("Loading folder info\n"));
- camel_file_util_decode_string (in, &info->path);
- camel_file_util_decode_uint32 (in, &info->flags);
- camel_file_util_decode_uint32 (in, &info->unread);
- camel_file_util_decode_uint32 (in, &info->total);
+ if (camel_file_util_decode_string (in, &info->path) == -1 ||
+ camel_file_util_decode_uint32 (in, &info->flags) == -1 ||
+ camel_file_util_decode_uint32 (in, &info->unread) == -1 ||
+ camel_file_util_decode_uint32 (in, &info->total) == -1) {
+ camel_store_summary_info_free (summary, info);
+
+ return NULL;
+ }
/* Ok, brown paper bag bug - prior to version 2 of the file, flags are
* stored using the bit number, not the bit. Try to recover as best we can */
@@ -215,11 +219,11 @@ store_summary_store_info_save (CamelStoreSummary *summary,
{
io (printf ("Saving folder info\n"));
- camel_file_util_encode_string (
- out, camel_store_info_path (summary, info));
- camel_file_util_encode_uint32 (out, info->flags);
- camel_file_util_encode_uint32 (out, info->unread);
- camel_file_util_encode_uint32 (out, info->total);
+ if (camel_file_util_encode_string (out, camel_store_info_path (summary, info)) == -1 ||
+ camel_file_util_encode_uint32 (out, info->flags) == -1 ||
+ camel_file_util_encode_uint32 (out, info->unread) == -1 ||
+ camel_file_util_encode_uint32 (out, info->total) == -1)
+ return -1;
return ferror (out);
}
diff --git a/camel/camel-store.c b/camel/camel-store.c
index be38c1c..6f92de0 100644
--- a/camel/camel-store.c
+++ b/camel/camel-store.c
@@ -2794,7 +2794,7 @@ camel_store_rename_folder_sync (CamelStore *store,
* We need to rename them atomically with renaming the actual
* folder path. */
folders = camel_object_bag_list (store->folders);
- for (i = 0; i < folders->len; i++) {
+ for (i = 0; folders && i < folders->len; i++) {
const gchar *full_name;
folder = folders->pdata[i];
diff --git a/camel/camel-tcp-stream-ssl.c b/camel/camel-tcp-stream-ssl.c
index 55fc9cf..7a4bf88 100644
--- a/camel/camel-tcp-stream-ssl.c
+++ b/camel/camel-tcp-stream-ssl.c
@@ -288,12 +288,12 @@ camel_certdb_nss_cert_get (CamelCertDB *certdb,
filename = g_build_filename (
g_get_home_dir (), ".camel_certs", fingerprint, NULL);
- g_file_get_contents (filename, &contents, &length, &error);
- if (error != NULL) {
+ if (!g_file_get_contents (filename, &contents, &length, &error) ||
+ error != NULL) {
g_warning (
"Could not load cert %s: %s",
- filename, error->message);
- g_error_free (error);
+ filename, error ? error->message : "Unknown error");
+ g_clear_error (&error);
camel_cert_set_trust (
certdb, ccert, CAMEL_CERT_TRUST_UNKNOWN);
diff --git a/camel/camel-text-index.c b/camel/camel-text-index.c
index 7bac9c3..9cca48c 100644
--- a/camel/camel-text-index.c
+++ b/camel/camel-text-index.c
@@ -661,7 +661,7 @@ text_index_add_name (CamelIndex *idx,
CAMEL_TEXT_INDEX_LOCK (idx, lock);
/* if we're adding words, up the cache limits a lot */
- if (p->blocks) {
+ if (p->word_cache_limit < 8192) {
p->blocks->block_cache_limit = 1024;
p->word_cache_limit = 8192;
}
diff --git a/camel/camel-vee-folder.c b/camel/camel-vee-folder.c
index f8a6308..f3bd87a 100644
--- a/camel/camel-vee-folder.c
+++ b/camel/camel-vee-folder.c
@@ -391,7 +391,7 @@ folder_changed_change (CamelVeeFolder *vf,
always_changed = g_ptr_array_new ();
for (i = 0; i < changed->len; i++) {
uid = changed->pdata[i];
- if (strlen (uid) + 9 > vuidlen) {
+ if (!vuid || strlen (uid) + 9 > vuidlen) {
vuidlen = strlen (uid) + 64;
vuid = g_realloc (vuid, vuidlen);
}
@@ -1709,7 +1709,7 @@ vee_folder_rebuild_folder (CamelVeeFolder *vee_folder,
/* Since the source of a correlating vfolder has to be requeried in
* full every time it changes, caching the results in the db is not
* worth the effort. Thus, DB use is conditioned on !correlating. */
- gboolean correlating = expression_is_correlating (vee_folder->expression);
+ gboolean correlating = vee_folder->expression && expression_is_correlating (vee_folder->expression);
if (vee_folder == folder_unmatched)
return 0;
diff --git a/camel/providers/imap/camel-imap-folder.c b/camel/providers/imap/camel-imap-folder.c
index d1ab781..efbf764 100644
--- a/camel/providers/imap/camel-imap-folder.c
+++ b/camel/providers/imap/camel-imap-folder.c
@@ -1411,7 +1411,7 @@ get_matching (CamelFolder *folder,
if (!list1) {
for (flag = camel_message_info_user_flags (master_info); flag; flag = flag->next) {
- if (flag->name && *flag->name) {
+ if (*flag->name) {
count1++;
list1 = g_list_prepend (list1, (gchar *) flag->name);
}
@@ -1421,7 +1421,7 @@ get_matching (CamelFolder *folder,
}
for (flag = camel_message_info_user_flags (info); flag; flag = flag->next) {
- if (flag->name && *flag->name) {
+ if (*flag->name) {
count2++;
list2 = g_list_prepend (list2, (gchar *) flag->name);
}
@@ -2602,7 +2602,7 @@ imap_transfer_offline (CamelFolder *source,
g_return_val_if_fail (mi != NULL, FALSE);
message = camel_folder_get_message_sync (
- source, uid, cancellable, NULL);
+ source, uid, cancellable, &local_error);
if (message) {
camel_imap_summary_add_offline (
diff --git a/camel/providers/imap/camel-imap-search.c b/camel/providers/imap/camel-imap-search.c
index bba2b07..b504352 100644
--- a/camel/providers/imap/camel-imap-search.c
+++ b/camel/providers/imap/camel-imap-search.c
@@ -297,7 +297,9 @@ load_match (CamelImapSearch *is,
&& header.termcount == 0) {
d(printf(" found %d matches\n", header.matchcount));
g_array_set_size (mr->matches, header.matchcount);
- camel_stream_read (stream, mr->matches->data, sizeof (guint32) * header.matchcount, NULL, NULL);
+ if (camel_stream_read (stream, mr->matches->data, sizeof (guint32) * header.matchcount, NULL, NULL) == -1) {
+ memset (&header, 0, sizeof (header));
+ }
} else {
d(printf(" file format invalid/validity changed\n"));
memset (&header, 0, sizeof (header));
diff --git a/camel/providers/imap/camel-imap-store.c b/camel/providers/imap/camel-imap-store.c
index 3320243..25c789a 100644
--- a/camel/providers/imap/camel-imap-store.c
+++ b/camel/providers/imap/camel-imap-store.c
@@ -3059,7 +3059,7 @@ imap_store_get_folder_info_sync (CamelStore *store,
goto fail;
if (top[0] == 0) {
- pattern = g_alloca (2);
+ pattern = g_alloca (3);
pattern[0] = '*';
pattern[1] = 0;
i = 0;
diff --git a/camel/providers/imap/camel-imap-utils.c b/camel/providers/imap/camel-imap-utils.c
index 51b5d04..7eed911 100644
--- a/camel/providers/imap/camel-imap-utils.c
+++ b/camel/providers/imap/camel-imap-utils.c
@@ -527,7 +527,7 @@ imap_create_flag_list (guint32 flags,
/* FIXME: All the custom flags are sent to the server. Not just the changed ones */
flag = camel_message_info_user_flags (info);
while (flag) {
- if (flag->name && *flag->name) {
+ if (*flag->name) {
name = rename_label_flag (flag->name, strlen (flag->name), FALSE);
if (name && *name)
@@ -629,7 +629,7 @@ imap_parse_flag_list (gchar **flag_list_p,
*flag_list_p = flag_list;
*flags_out = flags;
- if (custom_flags_out && custom_flags->len) {
+ if (custom_flags_out && custom_flags && custom_flags->len) {
*custom_flags_out = g_string_free (custom_flags, FALSE);
} else if (custom_flags)
g_string_free (custom_flags, TRUE);
diff --git a/camel/providers/imapx/camel-imapx-server.c b/camel/providers/imapx/camel-imapx-server.c
index 353aa0b..7c38064 100644
--- a/camel/providers/imapx/camel-imapx-server.c
+++ b/camel/providers/imapx/camel-imapx-server.c
@@ -415,11 +415,11 @@ imapx_uidset_init (struct _uidset_state *ss,
ss->limit = limit;
}
-gint
+gboolean
imapx_uidset_done (struct _uidset_state *ss,
CamelIMAPXCommand *ic)
{
- gint ret = 0;
+ gint ret = FALSE;
if (ss->last != 0 && ss->last != ss->start) {
camel_imapx_command_add (ic, ":%d", ss->last);
@@ -475,7 +475,8 @@ imapx_uidset_add (struct _uidset_state *ss,
if ((ss->limit && ss->entries >= ss->limit)
|| (ss->total && ss->uids >= ss->total)) {
e(ic->is->tagprefix, " done, %d entries, %d uids\n", ss->entries, ss->uids);
- imapx_uidset_done (ss, ic);
+ if (!imapx_uidset_done (ss, ic))
+ return -1;
return 1;
}
@@ -2317,16 +2318,14 @@ imapx_command_select_done (CamelIMAPXServer *is,
if (camel_imapx_command_set_error_if_failed (ic, &local_error)) {
GQueue failed = G_QUEUE_INIT;
GQueue trash = G_QUEUE_INIT;
- GList *head, *link;
+ GList *link;
c(is->tagprefix, "Select failed\n");
QUEUE_LOCK (is);
- head = camel_imapx_command_queue_peek_head_link (is->queue);
-
if (is->select_pending) {
- head = camel_imapx_command_queue_peek_head_link (is->queue);
+ GList *head = camel_imapx_command_queue_peek_head_link (is->queue);
for (link = head; link != NULL; link = g_list_next (link)) {
CamelIMAPXCommand *cw = link->data;
@@ -2940,7 +2939,7 @@ camel_imapx_server_authenticate (CamelIMAPXServer *is,
}
sasl = camel_sasl_new ("imap", mechanism, service);
- if (sasl != NULL) {
+ if (sasl == NULL) {
g_set_error (
error, CAMEL_SERVICE_ERROR,
CAMEL_SERVICE_ERROR_CANT_AUTHENTICATE,
@@ -4169,12 +4168,11 @@ imapx_job_fetch_messages_start (CamelIMAPXJob *job,
imapx_command_run_sync (is, ic, job->cancellable, &job->error);
- if (ic->job->error == NULL)
- camel_imapx_command_set_error_if_failed (ic, &ic->job->error);
-
- g_prefix_error (
- &ic->job->error, "%s: ",
- _("Error while fetching messages"));
+ if (ic->job->error != NULL || camel_imapx_command_set_error_if_failed (ic, &ic->job->error)) {
+ g_prefix_error (
+ &ic->job->error, "%s: ",
+ _("Error while fetching messages"));
+ }
camel_imapx_command_unref (ic);
}
@@ -4293,6 +4291,7 @@ imapx_job_refresh_info_start (CamelIMAPXJob *job,
if (!need_rescan) {
CamelIMAPXCommand *ic;
+ #if 0
if (is_selected) {
/* We may not issue STATUS on the current folder. Use SELECT or NOOP instead. */
if (0 /* server needs SELECT not just NOOP */) {
@@ -4311,7 +4310,9 @@ imapx_job_refresh_info_start (CamelIMAPXJob *job,
goto done;
}
}
- } else {
+ } else
+ #endif
+ {
if (is->cinfo->capa & IMAPX_CAPABILITY_CONDSTORE)
ic = camel_imapx_command_new (
is, "STATUS", NULL,
@@ -4327,12 +4328,11 @@ imapx_job_refresh_info_start (CamelIMAPXJob *job,
imapx_command_run_sync (
is, ic, job->cancellable, &job->error);
- if (ic->job->error == NULL)
- camel_imapx_command_set_error_if_failed (ic, &ic->job->error);
-
- g_prefix_error (
- &ic->job->error, "%s: ",
- _("Error refreshing folder"));
+ if (ic->job->error != NULL || camel_imapx_command_set_error_if_failed (ic, &ic->job->error)) {
+ g_prefix_error (
+ &ic->job->error, "%s: ",
+ _("Error refreshing folder"));
+ }
if (ic->job->error != NULL) {
camel_imapx_command_unref (ic);
@@ -4362,13 +4362,12 @@ imapx_job_refresh_info_start (CamelIMAPXJob *job,
imapx_command_run_sync (is, ic, job->cancellable, &job->error);
- if (ic->job->error == NULL)
- camel_imapx_command_set_error_if_failed (ic, &ic->job->error);
+ if (ic->job->error != NULL || camel_imapx_command_set_error_if_failed (ic, &ic->job->error)) {
+ g_prefix_error (
+ &ic->job->error, "%s: ",
+ _("Error refreshing folder"));
+ }
- g_prefix_error (
- &ic->job->error, "%s: ",
- _("Error refreshing folder"));
-
if (ic->job->error != NULL) {
camel_imapx_command_unref (ic);
goto done;
@@ -5019,7 +5018,7 @@ imapx_job_sync_changes_start (CamelIMAPXJob *job,
}
send = imapx_uidset_add (&ss, ic, camel_message_info_uid (info));
}
- if (send || (i == uids->len - 1 && imapx_uidset_done (&ss, ic))) {
+ if (send == 1 || (i == uids->len - 1 && imapx_uidset_done (&ss, ic))) {
job->commands++;
camel_imapx_command_add (ic, " %tFLAGS.SILENT (%t)", on?"+":"-", flags_table[j].name);
imapx_command_queue (is, ic);
@@ -5056,7 +5055,7 @@ imapx_job_sync_changes_start (CamelIMAPXJob *job,
ic->pri = job->pri;
}
- if (imapx_uidset_add (&ss, ic, camel_message_info_uid (info))
+ if (imapx_uidset_add (&ss, ic, camel_message_info_uid (info)) == 1
|| (i == c->infos->len - 1 && imapx_uidset_done (&ss, ic))) {
job->commands++;
camel_imapx_command_add (ic, " %tFLAGS.SILENT (%t)", on?"+":"-", c->name);
@@ -5881,7 +5880,7 @@ imapx_server_sync_changes (CamelIMAPXServer *is,
if (uflags) {
if (suflags)
res = strcmp (uflags->name, suflags->name);
- else if (uflags->name && *uflags->name)
+ else if (*uflags->name)
res = -1;
else {
uflags = uflags->next;
diff --git a/camel/providers/imapx/camel-imapx-store-summary.c b/camel/providers/imapx/camel-imapx-store-summary.c
index c764106..8a8142e 100644
--- a/camel/providers/imapx/camel-imapx-store-summary.c
+++ b/camel/providers/imapx/camel-imapx-store-summary.c
@@ -666,5 +666,5 @@ camel_imapx_store_summary_set_namespaces (CamelIMAPXStoreSummary *summary,
{
if (summary->namespaces)
camel_imapx_namespace_list_clear (summary->namespaces);
- summary->namespaces = camel_imapx_namespace_list_copy (summary->namespaces);
+ summary->namespaces = camel_imapx_namespace_list_copy (nsl);
}
diff --git a/camel/providers/imapx/camel-imapx-utils.c b/camel/providers/imapx/camel-imapx-utils.c
index a7a0825..776f615 100644
--- a/camel/providers/imapx/camel-imapx-utils.c
+++ b/camel/providers/imapx/camel-imapx-utils.c
@@ -885,9 +885,8 @@ imapx_parse_address_list (CamelIMAPXStream *is,
tok = camel_imapx_stream_token (is, &token, &len, cancellable, &local_error);
if (tok == '(') {
+ struct _camel_header_address *addr, *group = NULL;
while (1) {
- struct _camel_header_address *addr, *group = NULL;
-
/* address ::= "(" addr_name SPACE addr_adl SPACE addr_mailbox
* SPACE addr_host ")" */
tok = camel_imapx_stream_token (is, &token, &len, cancellable, &local_error);
@@ -930,7 +929,7 @@ imapx_parse_address_list (CamelIMAPXStream *is,
group = addr;
}
} else {
- addr->v.addr = g_strdup_printf("%s%s%s", mbox? mbox:"", host?"@":"", host?(gchar *)host:"");
+ addr->v.addr = g_strdup_printf ("%s %s", mbox? mbox :"", (const gchar *) host);
g_free (mbox);
d(is->tagprefix, "adding address '%s'\n", addr->v.addr);
if (group != NULL)
@@ -1082,7 +1081,6 @@ imapx_parse_body (CamelIMAPXStream *is,
struct _CamelMessageContentInfo * cinfo = NULL;
struct _CamelMessageContentInfo *subinfo, *last;
struct _CamelContentDisposition * dinfo = NULL;
- struct _CamelMessageInfo * minfo = NULL;
GError *local_error = NULL;
/* body ::= "(" body_type_1part / body_type_mpart ")" */
@@ -1161,6 +1159,8 @@ imapx_parse_body (CamelIMAPXStream *is,
tok = camel_imapx_stream_token (is, &token, &len, cancellable, &local_error);
camel_imapx_stream_ungettoken (is, tok, token, len);
if (tok == '(') {
+ struct _CamelMessageInfo * minfo = NULL;
+
/* what do we do with the envelope?? */
minfo = imapx_parse_envelope (is, cancellable, &local_error);
/* what do we do with the message content info?? */
@@ -1220,8 +1220,6 @@ imapx_parse_body (CamelIMAPXStream *is,
imapx_free_body (cinfo);
if (dinfo)
camel_content_disposition_unref (dinfo);
- if (minfo)
- camel_message_info_free (minfo);
return NULL;
}
diff --git a/camel/providers/local/camel-maildir-folder.c b/camel/providers/local/camel-maildir-folder.c
index a8adf29..dcb0887 100644
--- a/camel/providers/local/camel-maildir-folder.c
+++ b/camel/providers/local/camel-maildir-folder.c
@@ -163,7 +163,7 @@ maildir_folder_append_message_sync (CamelFolder *folder,
d(printf("Appending message\n"));
/* If we can't lock, don't do anything */
- if (camel_local_folder_lock (lf, CAMEL_LOCK_WRITE, error) == -1)
+ if (!lf || camel_local_folder_lock (lf, CAMEL_LOCK_WRITE, error) == -1)
return FALSE;
/* add it to the summary/assign the uid, etc */
@@ -239,7 +239,7 @@ maildir_folder_append_message_sync (CamelFolder *folder,
check_changed:
camel_local_folder_unlock (lf);
- if (lf && camel_folder_change_info_changed (lf->changes)) {
+ if (camel_folder_change_info_changed (lf->changes)) {
camel_folder_changed (folder, lf->changes);
camel_folder_change_info_clear (lf->changes);
}
@@ -260,7 +260,7 @@ maildir_folder_get_message_sync (CamelFolder *folder,
d(printf("getting message: %s\n", uid));
- if (camel_local_folder_lock (lf, CAMEL_LOCK_WRITE, error) == -1)
+ if (!lf || camel_local_folder_lock (lf, CAMEL_LOCK_WRITE, error) == -1)
return NULL;
name = maildir_folder_get_filename (folder, uid, error);
diff --git a/camel/providers/local/camel-mbox-summary.c b/camel/providers/local/camel-mbox-summary.c
index 1ba2790..2d2065f 100644
--- a/camel/providers/local/camel-mbox-summary.c
+++ b/camel/providers/local/camel-mbox-summary.c
@@ -722,7 +722,6 @@ mbox_summary_sync_full (CamelMboxSummary *mbs,
g_strerror (errno));
goto error;
}
- tmpname = NULL;
camel_operation_pop_message (cancellable);
camel_folder_summary_unlock (s, CAMEL_FOLDER_SUMMARY_SUMMARY_LOCK);
@@ -735,8 +734,7 @@ mbox_summary_sync_full (CamelMboxSummary *mbs,
if (fdout != -1)
close (fdout);
- if (tmpname)
- g_unlink (tmpname);
+ g_unlink (tmpname);
camel_operation_pop_message (cancellable);
camel_folder_summary_unlock (s, CAMEL_FOLDER_SUMMARY_SUMMARY_LOCK);
@@ -1153,7 +1151,7 @@ camel_mbox_summary_sync_mbox (CamelMboxSummary *cls,
((CamelMessageInfo *) info)->dirty = TRUE;
fromline = camel_mime_parser_from_line (mp);
d(printf("Saving %s:%d\n", camel_message_info_uid(info), info->frompos));
- write (fdout, fromline, strlen (fromline));
+ g_warn_if_fail (write (fdout, fromline, strlen (fromline)) != -1);
}
if (info && info->info.info.flags & (CAMEL_MESSAGE_FOLDER_NOXEV | CAMEL_MESSAGE_FOLDER_FLAGGED)) {
@@ -1264,9 +1262,8 @@ camel_mbox_summary_sync_mbox (CamelMboxSummary *cls,
return 0;
error:
g_free (xevnew);
+ g_object_unref (mp);
- if (mp)
- g_object_unref (mp);
if (info)
camel_message_info_free ((CamelMessageInfo *) info);
diff --git a/camel/providers/local/camel-mh-folder.c b/camel/providers/local/camel-mh-folder.c
index 53be12a..c9caf21 100644
--- a/camel/providers/local/camel-mh-folder.c
+++ b/camel/providers/local/camel-mh-folder.c
@@ -71,7 +71,7 @@ mh_folder_append_message_sync (CamelFolder *folder,
d(printf("Appending message\n"));
/* If we can't lock, don't do anything */
- if (camel_local_folder_lock (lf, CAMEL_LOCK_WRITE, error) == -1)
+ if (!lf || camel_local_folder_lock (lf, CAMEL_LOCK_WRITE, error) == -1)
return FALSE;
/* add it to the summary/assign the uid, etc */
@@ -128,7 +128,7 @@ mh_folder_append_message_sync (CamelFolder *folder,
check_changed:
camel_local_folder_unlock (lf);
- if (lf && camel_folder_change_info_changed (lf->changes)) {
+ if (camel_folder_change_info_changed (lf->changes)) {
camel_folder_changed (folder, lf->changes);
camel_folder_change_info_clear (lf->changes);
}
@@ -150,7 +150,7 @@ mh_folder_get_message_sync (CamelFolder *folder,
d(printf("getting message: %s\n", uid));
- if (camel_local_folder_lock (lf, CAMEL_LOCK_WRITE, error) == -1)
+ if (!lf || camel_local_folder_lock (lf, CAMEL_LOCK_WRITE, error) == -1)
return NULL;
/* get the message summary info */
@@ -192,7 +192,7 @@ mh_folder_get_message_sync (CamelFolder *folder,
camel_local_folder_unlock (lf);
- if (lf && camel_folder_change_info_changed (lf->changes)) {
+ if (camel_folder_change_info_changed (lf->changes)) {
camel_folder_changed (folder, lf->changes);
camel_folder_change_info_clear (lf->changes);
}
diff --git a/camel/providers/local/camel-mh-summary.c b/camel/providers/local/camel-mh-summary.c
index 2fa2c41..7e9589f 100644
--- a/camel/providers/local/camel-mh-summary.c
+++ b/camel/providers/local/camel-mh-summary.c
@@ -129,8 +129,6 @@ mh_summary_next_uid_string (CamelFolderSummary *s)
} else {
/* else scan for one - and create it too, to make sure */
do {
- if (fd != -1)
- close (fd);
uid = camel_folder_summary_next_uid (s);
name = g_strdup_printf("%s/%u", cls->folder_path, uid);
/* O_EXCL isn't guaranteed, sigh. Oh well, bad luck, mh has problems anyway */
diff --git a/camel/providers/local/camel-spool-store.c b/camel/providers/local/camel-spool-store.c
index 38fcf3e..29d7cc9 100644
--- a/camel/providers/local/camel-spool-store.c
+++ b/camel/providers/local/camel-spool-store.c
@@ -499,13 +499,15 @@ spool_store_get_folder_sync (CamelStore *store,
_("Folder '%s' does not exist."),
folder_name);
} else {
- if (creat (name, 0600) == -1) {
+ gint fd = creat (name, 0600);
+ if (fd == -1) {
g_set_error (
error, G_IO_ERROR,
g_io_error_from_errno (errno),
_("Could not create folder '%s':\n%s"),
folder_name, g_strerror (errno));
} else {
+ close (fd);
folder = camel_spool_folder_new (
store, folder_name, flags,
cancellable, error);
diff --git a/camel/providers/nntp/camel-nntp-store-summary.c b/camel/providers/nntp/camel-nntp-store-summary.c
index 4f0c3f3..368b4f5 100644
--- a/camel/providers/nntp/camel-nntp-store-summary.c
+++ b/camel/providers/nntp/camel-nntp-store-summary.c
@@ -297,9 +297,7 @@ summary_header_load (CamelStoreSummary *s,
if (fread (is->last_newslist, 1, NNTP_DATE_SIZE, in) < NNTP_DATE_SIZE)
return -1;
- camel_file_util_decode_fixed_int32 (in, &nil);
-
- return 0;
+ return camel_file_util_decode_fixed_int32 (in, &nil);
}
static gint
diff --git a/camel/providers/nntp/camel-nntp-store.c b/camel/providers/nntp/camel-nntp-store.c
index 77773a8..351eb72 100644
--- a/camel/providers/nntp/camel-nntp-store.c
+++ b/camel/providers/nntp/camel-nntp-store.c
@@ -738,7 +738,8 @@ nntp_store_get_subscribed_folder_info (CamelNNTPStore *store,
short_folder_names = camel_nntp_settings_get_short_folder_names (
CAMEL_NNTP_SETTINGS (settings));
- for (i = 0;(si = camel_store_summary_index ((CamelStoreSummary *) store->summary, i)); i++) {
+ for (i = 0; i < camel_store_summary_count ((CamelStoreSummary *) store->summary); i++) {
+ si = camel_store_summary_index ((CamelStoreSummary *) store->summary, i);
if (si == NULL)
continue;
@@ -757,10 +758,11 @@ nntp_store_get_subscribed_folder_info (CamelNNTPStore *store,
CamelFolderChangeInfo *changes = NULL;
camel_service_lock (CAMEL_SERVICE (store), CAMEL_SERVICE_REC_CONNECT_LOCK);
- camel_nntp_command (store, cancellable, NULL, folder, &line, NULL);
- if (camel_folder_change_info_changed (folder->changes)) {
- changes = folder->changes;
- folder->changes = camel_folder_change_info_new ();
+ if (camel_nntp_command (store, cancellable, NULL, folder, &line, NULL) != -1) {
+ if (camel_folder_change_info_changed (folder->changes)) {
+ changes = folder->changes;
+ folder->changes = camel_folder_change_info_new ();
+ }
}
camel_service_unlock (CAMEL_SERVICE (store), CAMEL_SERVICE_REC_CONNECT_LOCK);
if (changes) {
@@ -913,8 +915,11 @@ nntp_store_get_cached_folder_info (CamelNNTPStore *store,
if (!last ||
strncmp (si->path, last->full_name, strlen (last->full_name)) != 0 ||
si->path[strlen (last->full_name)] != '.') {
+ gchar *dot;
tmpname = g_strdup (si->path);
- *(strchr(tmpname + toplen, '.')) = '\0';
+ dot = strchr(tmpname + toplen, '.');
+ if (dot)
+ *dot = '\0';
fi = nntp_folder_info_from_name (store, FALSE, tmpname);
if (!fi)
continue;
@@ -1740,7 +1745,7 @@ camel_nntp_command (CamelNNTPStore *store,
return -1;
/* Check for unprocessed data, !*/
- if (store->stream->mode == CAMEL_NNTP_STREAM_DATA) {
+ if (store->stream && store->stream->mode == CAMEL_NNTP_STREAM_DATA) {
g_warning("Unprocessed data left in stream, flushing");
while (camel_nntp_stream_getd (store->stream, (guchar **) &p, &u, cancellable, error) > 0)
;
diff --git a/camel/providers/nntp/camel-nntp-stream.c b/camel/providers/nntp/camel-nntp-stream.c
index 98d1a4e..bbb4127 100644
--- a/camel/providers/nntp/camel-nntp-stream.c
+++ b/camel/providers/nntp/camel-nntp-stream.c
@@ -282,6 +282,10 @@ camel_nntp_stream_line (CamelNNTPStream *is,
gint newlen, oldlen;
guchar *e;
+ g_return_val_if_fail (is != NULL, -1);
+ g_return_val_if_fail (data != NULL, -1);
+ g_return_val_if_fail (len != NULL, -1);
+
if (is->mode == CAMEL_NNTP_STREAM_EOD) {
*data = is->linebuf;
*len = 0;
@@ -368,6 +372,10 @@ camel_nntp_stream_gets (CamelNNTPStream *is,
gint max;
guchar *end;
+ g_return_val_if_fail (is != NULL, -1);
+ g_return_val_if_fail (start != NULL, -1);
+ g_return_val_if_fail (len != NULL, -1);
+
*len = 0;
max = is->end - is->ptr;
@@ -394,6 +402,8 @@ void
camel_nntp_stream_set_mode (CamelNNTPStream *is,
camel_nntp_stream_mode_t mode)
{
+ g_return_if_fail (is != NULL);
+
is->mode = mode;
}
@@ -408,6 +418,10 @@ camel_nntp_stream_getd (CamelNNTPStream *is,
guchar *p, *e, *s;
gint state;
+ g_return_val_if_fail (is != NULL, -1);
+ g_return_val_if_fail (start != NULL, -1);
+ g_return_val_if_fail (len != NULL, -1);
+
*len = 0;
if (is->mode == CAMEL_NNTP_STREAM_EOD)
diff --git a/camel/providers/pop3/camel-pop3-engine.c b/camel/providers/pop3/camel-pop3-engine.c
index 686be68..86c0d41 100644
--- a/camel/providers/pop3/camel-pop3-engine.c
+++ b/camel/providers/pop3/camel-pop3-engine.c
@@ -426,6 +426,7 @@ camel_pop3_engine_command_new (CamelPOP3Engine *pe,
va_start (ap, fmt);
pc->data = g_strdup_vprintf (fmt, ap);
+ va_end (ap);
pc->state = CAMEL_POP3_COMMAND_IDLE;
/* TODO: what about write errors? */
diff --git a/camel/providers/pop3/camel-pop3-folder.c b/camel/providers/pop3/camel-pop3-folder.c
index a0c10cf..dbaa785 100644
--- a/camel/providers/pop3/camel-pop3-folder.c
+++ b/camel/providers/pop3/camel-pop3-folder.c
@@ -365,7 +365,6 @@ static void
pop3_folder_dispose (GObject *object)
{
CamelPOP3Folder *pop3_folder = CAMEL_POP3_FOLDER (object);
- CamelPOP3FolderInfo **fi = (CamelPOP3FolderInfo **) pop3_folder->uids->pdata;
CamelPOP3Store *pop3_store = NULL;
CamelStore *parent_store;
@@ -375,6 +374,7 @@ pop3_folder_dispose (GObject *object)
if (pop3_folder->uids) {
gint i;
+ CamelPOP3FolderInfo **fi = (CamelPOP3FolderInfo **) pop3_folder->uids->pdata;
gboolean is_online = camel_service_get_connection_status (CAMEL_SERVICE (parent_store)) == CAMEL_SERVICE_CONNECTED;
for (i = 0; i < pop3_folder->uids->len; i++, fi++) {
diff --git a/camel/providers/pop3/camel-pop3-store.c b/camel/providers/pop3/camel-pop3-store.c
index 9ae93fd..c97854f 100644
--- a/camel/providers/pop3/camel-pop3-store.c
+++ b/camel/providers/pop3/camel-pop3-store.c
@@ -101,7 +101,6 @@ connect_to_server (CamelService *service,
gboolean success = TRUE;
gchar *host;
guint32 flags = 0;
- gint clean_quit = TRUE;
gint ret;
settings = camel_service_get_settings (service);
@@ -148,9 +147,6 @@ connect_to_server (CamelService *service,
goto exit;
}
- /* as soon as we send a STLS command, all hope is lost of a clean QUIT if problems arise */
- clean_quit = FALSE;
-
if (!(store->engine->capa & CAMEL_POP3_CAP_STLS)) {
g_set_error (
error, CAMEL_ERROR, CAMEL_ERROR_GENERIC,
@@ -200,13 +196,14 @@ connect_to_server (CamelService *service,
goto exit;
stls_exception:
- if (clean_quit) {
- /* try to disconnect cleanly */
+ /* as soon as we send a STLS command, all hope is lost of a clean QUIT if problems arise */
+ /* if (clean_quit) {
+ / * try to disconnect cleanly * /
pc = camel_pop3_engine_command_new (store->engine, 0, NULL, NULL, cancellable, NULL, "QUIT\r\n");
while (camel_pop3_engine_iterate (store->engine, NULL, cancellable, NULL) > 0)
;
camel_pop3_engine_command_free (store->engine, pc);
- }
+ }*/
g_object_unref (store->engine);
g_object_unref (tcp_stream);
@@ -801,7 +798,7 @@ camel_pop3_store_expunge (CamelPOP3Store *store,
{
CamelPOP3Command *pc;
- if (!camel_service_get_connection_status (CAMEL_SERVICE (store)) == CAMEL_SERVICE_CONNECTED) {
+ if (camel_service_get_connection_status (CAMEL_SERVICE (store)) != CAMEL_SERVICE_CONNECTED) {
g_set_error (
error, CAMEL_SERVICE_ERROR,
CAMEL_SERVICE_ERROR_UNAVAILABLE,
diff --git a/camel/providers/sendmail/camel-sendmail-transport.c b/camel/providers/sendmail/camel-sendmail-transport.c
index 3a836fd..507cc81 100644
--- a/camel/providers/sendmail/camel-sendmail-transport.c
+++ b/camel/providers/sendmail/camel-sendmail-transport.c
@@ -153,9 +153,11 @@ sendmail_send_to_sync (CamelTransport *transport,
/* Child process */
nullfd = open ("/dev/null", O_RDWR);
dup2 (fd[0], STDIN_FILENO);
- /*dup2 (nullfd, STDOUT_FILENO);
- dup2 (nullfd, STDERR_FILENO);*/
- close (nullfd);
+ if (nullfd != -1) {
+ /*dup2 (nullfd, STDOUT_FILENO);
+ dup2 (nullfd, STDERR_FILENO);*/
+ close (nullfd);
+ }
close (fd[1]);
execv (SENDMAIL_PATH, (gchar **) argv);
diff --git a/libedataserver/e-gdbus-templates.c b/libedataserver/e-gdbus-templates.c
index 5e8125a..fe31eb8 100644
--- a/libedataserver/e-gdbus-templates.c
+++ b/libedataserver/e-gdbus-templates.c
@@ -594,6 +594,7 @@ e_gdbus_proxy_emit_signal (GDBusProxy *proxy,
g_variant_get (parameters, "(u&s&su)", &arg_opid, &dbus_error_name, &dbus_error_message, &arg_uint);
break;
default:
+ /* fix below too, if this is reached */
g_warning ("%s: Unknown E_GDBUS_TYPE %x", G_STRFUNC, signal_type);
return;
}
@@ -618,9 +619,6 @@ e_gdbus_proxy_emit_signal (GDBusProxy *proxy,
case E_GDBUS_TYPE_UINT:
g_signal_emit (proxy, signal_id, 0, arg_opid, arg_error, arg_uint);
break;
- default:
- g_warning ("%s: Unknown E_GDBUS_TYPE %x", G_STRFUNC, signal_type);
- break;
}
if (arg_error)
diff --git a/libedataserver/e-proxy.c b/libedataserver/e-proxy.c
index 709a518..45454df 100644
--- a/libedataserver/e-proxy.c
+++ b/libedataserver/e-proxy.c
@@ -681,12 +681,11 @@ update_proxy_uri (const gchar *uri,
/* here can be only http or https and nothing else */
is_https = g_str_has_prefix (uri, "https://");
- res = g_strdup_printf ("%s://%s%s%s%s%s",
+ res = g_strdup_printf ("%s://%s%s%s %s",
is_https ? "https" : "http",
- user ? user : "",
+ user,
pw ? ":" : "",
pw ? pw : "",
- (user || pw) ? "@" : "",
uri + strlen ("http://") + (is_https ? 1 : 0));
g_free (user);
diff --git a/libedataserverui/e-name-selector-entry.c b/libedataserverui/e-name-selector-entry.c
index 27caccc..70a2c1e 100644
--- a/libedataserverui/e-name-selector-entry.c
+++ b/libedataserverui/e-name-selector-entry.c
@@ -2434,7 +2434,7 @@ editor_closed_cb (GtkWidget *editor,
if (book_client) {
contact = NULL;
- e_book_client_get_contact_sync (book_client, contact_uid, &contact, NULL, NULL);
+ g_warn_if_fail (e_book_client_get_contact_sync (book_client, contact_uid, &contact, NULL, NULL));
email_num = e_destination_get_email_num (destination);
e_destination_set_contact (destination, contact, email_num);
e_destination_set_client (destination, book_client);
diff --git a/libedataserverui/e-source-combo-box.c b/libedataserverui/e-source-combo-box.c
index af45ee6..89fdad2 100644
--- a/libedataserverui/e-source-combo-box.c
+++ b/libedataserverui/e-source-combo-box.c
@@ -100,7 +100,7 @@ source_list_changed_cb (ESourceList *source_list,
* hardly a performance issue here since source lists
* are short. */
- gtk_tree_model_get_iter_first (model, &iter);
+ iter_valid = gtk_tree_model_get_iter_first (model, &iter);
for (groups = e_source_list_peek_groups (source_list);
groups != NULL; groups = groups->next) {
@@ -110,7 +110,7 @@ source_list_changed_cb (ESourceList *source_list,
continue;
name = e_source_group_peek_name (groups->data);
- if (!gtk_list_store_iter_is_valid (store, &iter))
+ if (!iter_valid)
gtk_list_store_append (store, &iter);
gtk_list_store_set (
store, &iter,
@@ -119,7 +119,7 @@ source_list_changed_cb (ESourceList *source_list,
COLUMN_SENSITIVE, FALSE,
COLUMN_SOURCE, groups->data,
-1);
- gtk_tree_model_iter_next (model, &iter);
+ iter_valid = gtk_tree_model_iter_next (model, &iter);
sources = e_source_group_peek_sources (groups->data);
@@ -141,7 +141,7 @@ source_list_changed_cb (ESourceList *source_list,
visible = TRUE;
}
- if (!gtk_list_store_iter_is_valid (store, &iter))
+ if (!iter_valid)
gtk_list_store_append (store, &iter);
gtk_list_store_set (
store, &iter,
@@ -157,7 +157,7 @@ source_list_changed_cb (ESourceList *source_list,
priv->uid_index, g_strdup (uid),
gtk_tree_row_reference_new (model, path));
gtk_tree_path_free (path);
- gtk_tree_model_iter_next (model, &iter);
+ iter_valid = gtk_tree_model_iter_next (model, &iter);
g_free (indented_name);
}
diff --git a/libedataserverui/e-tree-model-generator.c b/libedataserverui/e-tree-model-generator.c
index 9269d17..b870d85 100644
--- a/libedataserverui/e-tree-model-generator.c
+++ b/libedataserverui/e-tree-model-generator.c
@@ -329,6 +329,8 @@ child_offset_to_generated_offset (GArray *group,
gint accum_offset = 0;
gint i;
+ g_return_val_if_fail (group != NULL, -1);
+
for (i = 0; i < group->len && i < offset; i++) {
Node *node = &g_array_index (group, Node, i);
@@ -894,6 +896,8 @@ e_tree_model_generator_convert_child_iter_to_iter (ETreeModelGenerator *tree_mod
}
}
+ g_return_if_fail (group != NULL);
+
index = child_offset_to_generated_offset (group, index);
ITER_SET (tree_model_generator, generator_iter, group, index);
gtk_tree_path_free (path);
@@ -1095,10 +1099,10 @@ e_tree_model_generator_get_path (GtkTreeModel *tree_model,
group = node->parent_group;
index = node->parent_index;
- generated_index = child_offset_to_generated_offset (group, index);
-
- if (group)
+ if (group) {
+ generated_index = child_offset_to_generated_offset (group, index);
gtk_tree_path_prepend_index (path, generated_index);
+ }
}
return path;
@@ -1190,7 +1194,7 @@ e_tree_model_generator_iter_has_child (GtkTreeModel *tree_model,
ITER_GET (iter, &group, &index);
index = generated_offset_to_child_offset (group, index, NULL);
- if (!index < 0)
+ if (index < 0)
return FALSE;
node = &g_array_index (group, Node, index);
diff --git a/tests/libebook/client/client-test-utils.c b/tests/libebook/client/client-test-utils.c
index 760217b..fd73dc6 100644
--- a/tests/libebook/client/client-test-utils.c
+++ b/tests/libebook/client/client-test-utils.c
@@ -257,8 +257,10 @@ foreach_configured_source_async_start (ESource **source)
if (!async_data->current_group) {
gpointer ad = async_data;
- foreach_configured_source_async_next (&ad, source);
- return ad;
+ if (foreach_configured_source_async_next (&ad, source))
+ return ad;
+
+ return NULL;
}
async_data->current_source = e_source_group_peek_sources (async_data->current_group->data);
diff --git a/tests/libebook/client/test-client-photo-is-uri.c b/tests/libebook/client/test-client-photo-is-uri.c
index 430d00d..8dd8019 100644
--- a/tests/libebook/client/test-client-photo-is-uri.c
+++ b/tests/libebook/client/test-client-photo-is-uri.c
@@ -250,7 +250,6 @@ add_contact_inline (EBookClient *book)
{
EContact *contact;
EContactPhoto *photo;
- GError *error = NULL;
guchar *data;
gsize length = 0;
@@ -269,7 +268,7 @@ add_contact_inline (EBookClient *book)
e_contact_set (contact, E_CONTACT_FULL_NAME, "Micheal Jackson");
if (!add_contact_verify (book, contact))
- g_error ("Failed to add contact: %s", error->message);
+ g_error ("Failed to add contact");
micheal_jackson_uid = e_contact_get (contact, E_CONTACT_UID);
}
@@ -279,7 +278,6 @@ add_contact_uri (EBookClient *book)
{
EContact *contact;
EContactPhoto *photo;
- GError *error = NULL;
contact = e_contact_new ();
@@ -292,7 +290,7 @@ add_contact_uri (EBookClient *book)
e_contact_set (contact, E_CONTACT_FULL_NAME, "James Brown");
if (!add_contact_verify (book, contact))
- g_error ("Failed to add contact: %s", error->message);
+ g_error ("Failed to add contact");
james_brown_uid = e_contact_get (contact, E_CONTACT_UID);
}
diff --git a/tests/libebook/client/test-client-suppress-notifications.c b/tests/libebook/client/test-client-suppress-notifications.c
index 781f3d0..e87bdf6 100644
--- a/tests/libebook/client/test-client-suppress-notifications.c
+++ b/tests/libebook/client/test-client-suppress-notifications.c
@@ -13,7 +13,7 @@ static gboolean loading_view;
static void
add_contact (EBookClient *book_client)
{
- add_contact_from_test_case_verify (book_client, "name-only", NULL);
+ g_return_if_fail (add_contact_from_test_case_verify (book_client, "name-only", NULL));
}
static gboolean
diff --git a/tests/libebook/ebook-test-utils.c b/tests/libebook/ebook-test-utils.c
index 7b9c074..5e3ed8e 100644
--- a/tests/libebook/ebook-test-utils.c
+++ b/tests/libebook/ebook-test-utils.c
@@ -142,10 +142,10 @@ add_contact_cb (EBook *book,
test_print ("successfully asynchronously added the contact "
"addressbook\n");
- if (closure) {
+ if (closure->cb)
(*closure->cb) (closure);
- g_free (closure);
- }
+
+ g_free (closure);
}
void
@@ -197,10 +197,10 @@ commit_contact_cb (EBook *book,
test_print ("successfully asynchronously committed the contact to the "
"addressbook\n");
- if (closure) {
+ if (closure->cb)
(*closure->cb) (closure);
- g_free (closure);
- }
+
+ g_free (closure);
}
void
@@ -258,10 +258,10 @@ get_contact_cb (EBook *book,
test_print ("successfully asynchronously retrieved the contact '%s'\n",
uid);
- if (closure) {
+ if (closure->cb)
(*closure->cb) (closure);
- g_free (closure);
- }
+
+ g_free (closure);
}
void
@@ -317,10 +317,10 @@ get_required_fields_cb (EBook *book,
test_print ("successfully asynchronously retrieved the required fields\n");
- if (closure) {
+ if (closure->cb)
(*closure->cb) (closure);
- g_free (closure);
- }
+
+ g_free (closure);
}
void
@@ -394,10 +394,9 @@ get_supported_auth_methods_cb (EBook *book,
test_print ("successfully asynchronously retrieved the supported auth "
"methods\n");
- if (closure) {
+ if (closure->cb)
(*closure->cb) (closure);
- g_free (closure);
- }
+ g_free (closure);
}
void
@@ -452,10 +451,9 @@ get_supported_fields_cb (EBook *book,
test_print ("successfully asynchronously retrieved the supported fields\n");
- if (closure) {
+ if (closure->cb)
(*closure->cb) (closure);
- g_free (closure);
- }
+ g_free (closure);
}
void
@@ -505,10 +503,10 @@ remove_contact_cb (EBook *book,
test_print ("successfully asynchronously removed the contact\n");
- if (closure) {
+ if (closure->cb)
(*closure->cb) (closure);
- g_free (closure);
- }
+
+ g_free (closure);
}
void
@@ -543,10 +541,10 @@ remove_contact_by_id_cb (EBook *book,
test_print ("successfully asynchronously removed the contact by id\n");
- if (closure) {
+ if (closure->cb)
(*closure->cb) (closure);
- g_free (closure);
- }
+
+ g_free (closure);
}
void
@@ -597,10 +595,10 @@ remove_contacts_cb (EBook *book,
test_print ("successfully asynchronously removed the contacts\n");
- if (closure) {
+ if (closure->cb)
(*closure->cb) (closure);
- g_free (closure);
- }
+
+ g_free (closure);
}
void
@@ -710,7 +708,7 @@ remove_cb (EBook *book,
test_print ("successfully asynchronously removed the temporary "
"addressbook\n");
- if (closure)
+ if (closure->cb)
(*closure->cb) (closure);
}
@@ -763,7 +761,7 @@ get_book_view_cb (EBook *book,
closure->view = view;
test_print ("successfully asynchronously retrieved the book view\n");
- if (closure)
+ if (closure->cb)
(*closure->cb) (closure);
}
diff --git a/tests/libebook/test-categories.c b/tests/libebook/test-categories.c
index 49563ea..d65b217 100644
--- a/tests/libebook/test-categories.c
+++ b/tests/libebook/test-categories.c
@@ -22,8 +22,6 @@ main (gint argc,
e_contact_set (contact, E_CONTACT_CATEGORY_LIST, category_list);
- category_list = e_contact_get (contact, E_CONTACT_CATEGORY_LIST);
-
printf ("vcard = \n%s\n", e_vcard_to_string (E_VCARD (contact), EVC_FORMAT_VCARD_30));
categories = e_contact_get (contact, E_CONTACT_CATEGORIES);
diff --git a/tests/libebook/vcard/dump-vcard.c b/tests/libebook/vcard/dump-vcard.c
index 2a9eb4c..1b8bdbe 100644
--- a/tests/libebook/vcard/dump-vcard.c
+++ b/tests/libebook/vcard/dump-vcard.c
@@ -20,6 +20,10 @@ main (gint argc,
g_type_init_with_debug_flags (G_TYPE_DEBUG_OBJECTS);
fp = fopen (argv[1], "r");
+ if (fp == NULL) {
+ g_warning ("Faile to open vCard file '%s'", argv[1]);
+ return 1;
+ }
while (!feof (fp)) {
gchar buf[1024];
diff --git a/tests/libecal/ecal-test-utils.c b/tests/libecal/ecal-test-utils.c
index a6b53fd..c3e7f55 100644
--- a/tests/libecal/ecal-test-utils.c
+++ b/tests/libecal/ecal-test-utils.c
@@ -127,7 +127,7 @@ open_ex_cb (ECal *cal,
test_print ("successfully asynchronously removed the temporary "
"calendar\n");
- if (closure)
+ if (closure->cb)
(*closure->cb) (closure);
g_signal_handlers_disconnect_by_func (cal, open_ex_cb, closure);
@@ -486,7 +486,7 @@ cal_set_mode_cb (ECal *cal,
closure->mode = mode;
test_print ("successfully set the calendar mode to %d\n", mode);
- if (closure)
+ if (closure->cb)
(*closure->cb) (closure);
g_signal_handlers_disconnect_by_func (cal, cal_set_mode_cb, closure);
diff --git a/tests/libecal/test-ecal.c b/tests/libecal/test-ecal.c
index 63633e7..73509af 100644
--- a/tests/libecal/test-ecal.c
+++ b/tests/libecal/test-ecal.c
@@ -51,9 +51,10 @@ cl_printf (ECal *client,
{
va_list args;
- va_start (args, format);
- if ( client != client1)
+ if (client != client1)
return;
+
+ va_start (args, format);
printf ("Client %s: ", "Test");
vprintf (format, args);
va_end (args);
diff --git a/tests/libedataserverui/test-contact-store.c b/tests/libedataserverui/test-contact-store.c
index 7ac189d..4b1566d 100644
--- a/tests/libedataserverui/test-contact-store.c
+++ b/tests/libedataserverui/test-contact-store.c
@@ -96,7 +96,7 @@ start_test (const gchar *gconf_path)
gtk_container_add (GTK_CONTAINER (scrolled_window), tree_view);
book_client = e_book_client_new_default (NULL);
- e_client_open_sync (E_CLIENT (book_client), TRUE, NULL, NULL);
+ g_warn_if_fail (e_client_open_sync (E_CLIENT (book_client), TRUE, NULL, NULL));
e_contact_store_add_client (contact_store, book_client);
g_object_unref (book_client);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]