[Commits] [SCM] claws branch, master, updated. 3.10.0-62-gcf8bcfa
Colin
colin at claws-mail.org
Thu Jun 5 22:37:25 CEST 2014
The branch master of project "claws" (Claws Mail) has been updated
via cf8bcfa094cca9216fed143ade374544f88e08ab (commit)
from 767368e8981d8c65d2bf0e800941c9f4713376f8 (commit)
- Log -----------------------------------------------------------------
commit cf8bcfa094cca9216fed143ade374544f88e08ab
Author: Colin Leroy <colin at colino.net>
Date: Thu Jun 5 22:37:12 2014 +0200
More Coverity fixes
diff --git a/src/imap.c b/src/imap.c
index 6813d9e..8870719 100644
--- a/src/imap.c
+++ b/src/imap.c
@@ -1672,8 +1672,10 @@ static gint imap_add_msgs(Folder *folder, FolderItem *dest, GSList *file_list,
return -1;
}
destdir = imap_get_real_path(session, IMAP_FOLDER(folder), dest->path, &ok);
- if (is_fatal(ok))
+ if (is_fatal(ok)) {
+ g_free(destdir);
return -1;
+ }
statusbar_print_all(_("Adding messages..."));
total = g_slist_length(file_list);
for (cur = file_list; cur != NULL; cur = cur->next) {
@@ -1870,8 +1872,10 @@ static gint imap_do_copy_msgs(Folder *folder, FolderItem *dest,
destdir = imap_get_real_path(session, IMAP_FOLDER(folder), dest->path, &ok);
- if (is_fatal(ok))
+ if (is_fatal(ok)) {
+ g_free(destdir);
return ok;
+ }
seq_list = imap_get_lep_set_from_msglist(IMAP_FOLDER(folder), msglist);
uid_hash = g_hash_table_new(g_direct_hash, g_direct_equal);
@@ -2487,10 +2491,8 @@ static gint imap_do_remove_msgs(Folder *folder, FolderItem *dest,
imap_scan_required(folder, dest);
g_free(destdir);
- if (ok == MAILIMAP_NO_ERROR)
- return 0;
- else
- return -1;
+
+ return 0;
}
static gint imap_remove_msgs(Folder *folder, FolderItem *dest,
@@ -2566,8 +2568,10 @@ static gint imap_scan_tree_real(Folder *folder, gboolean subs_only)
strtailchomp(root_folder, '/');
real_path = imap_get_real_path
(session, IMAP_FOLDER(folder), root_folder, &r);
- if (is_fatal(r))
+ if (is_fatal(r)) {
+ g_free(real_path);
return -1;
+ }
debug_print("IMAP root directory: %s\n", real_path);
/* check if root directory exist */
@@ -2872,6 +2876,7 @@ GList *imap_scan_subtree(Folder *folder, FolderItem *item, gboolean unsubs_only,
if (r) {
g_free(real_path);
statusbar_pop_all();
+ g_free(tmp);
return NULL;
}
folder_item_destroy(cur_item);
@@ -3228,6 +3233,7 @@ static gint imap_rename_folder(Folder *folder, FolderItem *item,
real_oldpath = imap_get_real_path(session, IMAP_FOLDER(folder), item->path, &ok);
if (is_fatal(ok)) {
+ g_free(real_oldpath);
return -1;
}
@@ -3244,8 +3250,10 @@ static gint imap_rename_folder(Folder *folder, FolderItem *item,
}
separator = imap_get_path_separator(session, IMAP_FOLDER(folder), item->path, &ok);
- if (is_fatal(ok))
+ if (is_fatal(ok)) {
+ g_free(real_oldpath);
return -1;
+ }
if (strchr(item->path, G_DIR_SEPARATOR)) {
dirpath = g_path_get_dirname(item->path);
newpath = g_strconcat(dirpath, G_DIR_SEPARATOR_S, name, NULL);
@@ -3342,9 +3350,10 @@ static gint imap_remove_folder_real(Folder *folder, FolderItem *item)
return -1;
}
path = imap_get_real_path(session, IMAP_FOLDER(folder), item->path, &ok);
- if (is_fatal(ok))
+ if (is_fatal(ok)) {
+ g_free(path);
return -1;
-
+ }
imap_threaded_subscribe(folder, path, FALSE);
selected_folder = (session->mbox != NULL) &&
@@ -3626,15 +3635,12 @@ gchar imap_get_path_separator_for_item(FolderItem *item)
if (!item)
return '/';
folder = item->folder;
-
+
if (!folder)
return '/';
-
+
imap_folder = IMAP_FOLDER(folder);
-
- if (!imap_folder)
- return '/';
-
+
debug_print("getting session...");
session = imap_session_get(FOLDER(folder));
result = imap_get_path_separator(session, imap_folder, item->path, &ok);
@@ -3830,8 +3836,10 @@ static gint imap_select(IMAPSession *session, IMAPFolder *folder,
session->expunge = 0;
real_path = imap_get_real_path(session, folder, path, &ok);
- if (is_fatal(ok))
- return ok;
+ if (is_fatal(ok)) {
+ g_free(real_path);
+ return ok;
+ }
g_slist_free(IMAP_FOLDER_ITEM(item)->ok_flags);
IMAP_FOLDER_ITEM(item)->ok_flags = NULL;
ok = imap_cmd_select(session, real_path,
diff --git a/src/importldif.c b/src/importldif.c
index 3d2460c..e8db5b6 100644
--- a/src/importldif.c
+++ b/src/importldif.c
@@ -336,7 +336,8 @@ static gboolean imp_ldif_field_list_toggle(
gint y = event->y;
gint row, col;
- gtk_cmclist_get_selection_info( clist, x, y, &row, &col );
+ if (!gtk_cmclist_get_selection_info( clist, x, y, &row, &col ))
+ return FALSE;
if( col != FIELD_COL_SELECT ) return FALSE;
if( row > impldif_dlg.rowCount ) return FALSE;
diff --git a/src/main.c b/src/main.c
index 37b26d5..0202a20 100644
--- a/src/main.c
+++ b/src/main.c
@@ -2241,6 +2241,7 @@ static gint prohibit_duplicate_launch(void)
ret = fd_open_unix(path);
#if HAVE_FLOCK
flock(lock_fd, LOCK_UN);
+ close(lock_fd);
claws_unlink(socket_lock);
g_free(socket_lock);
#endif
@@ -2340,7 +2341,8 @@ static gint prohibit_duplicate_launch(void)
}
fd_write_all(uxsock, ".\n", 2);
for (;;) {
- fd_gets(uxsock, buf, sizeof(buf));
+ fd_gets(uxsock, buf, sizeof(buf) - 1);
+ buf[sizeof(buf) - 1] = '\0';
if (!strncmp(buf, ".\n", 2)) break;
fputs(buf, stdout);
}
@@ -2350,7 +2352,8 @@ static gint prohibit_duplicate_launch(void)
gchar buf[BUFSIZ];
fd_write(uxsock, "statistics\n", 11);
for (;;) {
- fd_gets(uxsock, buf, sizeof(buf));
+ fd_gets(uxsock, buf, sizeof(buf) - 1);
+ buf[sizeof(buf) - 1] = '\0';
if (!strncmp(buf, ".\n", 2)) break;
fputs(buf, stdout);
}
@@ -2369,7 +2372,8 @@ static gint prohibit_duplicate_launch(void)
fd_write_all(uxsock, str, strlen(str));
g_free(str);
for (;;) {
- fd_gets(uxsock, buf, sizeof(buf));
+ fd_gets(uxsock, buf, sizeof(buf) - 1);
+ buf[sizeof(buf) - 1] = '\0';
if (!strncmp(buf, ".\n", 2)) break;
fputs(buf, stdout);
}
@@ -2378,7 +2382,8 @@ static gint prohibit_duplicate_launch(void)
gchar buf[BUFSIZ];
fd_write_all(uxsock, "get_display\n", 12);
memset(buf, 0, sizeof(buf));
- fd_gets(uxsock, buf, sizeof(buf));
+ fd_gets(uxsock, buf, sizeof(buf) - 1);
+ buf[sizeof(buf) - 1] = '\0';
if (strcmp2(buf, x_display)) {
g_print("Claws Mail is already running on display %s.\n",
buf);
@@ -2428,7 +2433,8 @@ static GPtrArray *get_folder_item_list(gint sock)
GPtrArray *folders = NULL;
for (;;) {
- fd_gets(sock, buf, sizeof(buf));
+ fd_gets(sock, buf, sizeof(buf) - 1);
+ buf[sizeof(buf) - 1] = '\0';
if (!strncmp(buf, ".\n", 2)) {
break;
}
@@ -2456,7 +2462,11 @@ static void lock_socket_input_cb(gpointer data,
gchar buf[BUFFSIZE];
sock = fd_accept(source);
- fd_gets(sock, buf, sizeof(buf));
+ if (sock < 0)
+ return;
+
+ fd_gets(sock, buf, sizeof(buf) - 1);
+ buf[sizeof(buf) - 1] = '\0';
if (!strncmp(buf, "popup", 5)) {
main_window_popup(mainwin);
@@ -2478,7 +2488,8 @@ static void lock_socket_input_cb(gpointer data,
gchar *mailto;
mailto = g_strdup(buf + strlen("compose_attach") + 1);
- while (fd_gets(sock, buf, sizeof(buf)) > 0) {
+ while (fd_gets(sock, buf, sizeof(buf) - 1) > 0) {
+ buf[sizeof(buf) - 1] = '\0';
strretchomp(buf);
if (!strcmp2(buf, "."))
break;
@@ -2594,8 +2605,9 @@ static void lock_socket_input_cb(gpointer data,
folder_name = g_strdup(buf+7);
strretchomp(folder_name);
- if (fd_gets(sock, buf, sizeof(buf)) <= 0)
+ if (fd_gets(sock, buf, sizeof(buf) - 1) <= 0)
goto search_exit;
+ buf[sizeof(buf) - 1] = '\0';
switch (toupper(buf[0])) {
case 'S': searchType = ADVANCED_SEARCH_SUBJECT; break;
@@ -2606,22 +2618,24 @@ static void lock_socket_input_cb(gpointer data,
case 'E': searchType = ADVANCED_SEARCH_EXTENDED; break;
}
- if (fd_gets(sock, buf, sizeof(buf)) <= 0)
+ if (fd_gets(sock, buf, sizeof(buf) - 1) <= 0)
goto search_exit;
+ buf[sizeof(buf) - 1] = '\0';
request = g_strdup(buf);
strretchomp(request);
recursive = TRUE;
- if (fd_gets(sock, buf, sizeof(buf)) > 0)
+ if (fd_gets(sock, buf, sizeof(buf) - 1) > 0)
recursive = buf[0] != '0';
+ buf[sizeof(buf) - 1] = '\0';
+
debug_print("search: %s %i %s %i\n", folder_name, searchType, request, recursive);
- if (folder_name)
- folderItem = folder_find_item_from_identifier(folder_name);
+ folderItem = folder_find_item_from_identifier(folder_name);
- if (folder_name && folderItem == NULL) {
+ if (folderItem == NULL) {
debug_print("Unknown folder item : '%s', searching folder\n",folder_name);
Folder* folder = folder_find_from_path(folder_name);
if (folder != NULL)
diff --git a/src/mainwindow.c b/src/mainwindow.c
index 62b380a..46de25b 100644
--- a/src/mainwindow.c
+++ b/src/mainwindow.c
@@ -1241,7 +1241,7 @@ static gint mainwin_tag_cmp_list(gconstpointer a, gconstpointer b)
return tag_b == NULL ? 0:1;
if (tag_b == NULL)
- return tag_a == NULL ? 0:1;
+ return tag_a == 1;
return g_utf8_collate(tag_a, tag_b);
}
@@ -3301,7 +3301,7 @@ do { \
cm_menu_set_sensitive_full(mainwin->ui_manager, "Menu/View/Sort/Descending", FALSE);
}
- if (mainwin->messageview
+ if (mainwin->messageview
&& mainwin->messageview->mimeview
&& mainwin->messageview->mimeview->textview)
cm_toggle_menu_set_active_full(mainwin->ui_manager, "Menu/View/AllHeaders",
diff --git a/src/messageview.c b/src/messageview.c
index 2d9c677..3acacd2 100644
--- a/src/messageview.c
+++ b/src/messageview.c
@@ -1208,11 +1208,12 @@ static void messageview_register_nav(MessageView *messageview)
}
gboolean messageview_nav_has_prev(MessageView *messageview) {
- return messageview->trail != NULL && messageview->trail_pos > 0;
+ return messageview != NULL && messageview->trail != NULL
+ && messageview->trail_pos > 0;
}
gboolean messageview_nav_has_next(MessageView *messageview) {
- if (!messageview->trail)
+ if (!messageview || !messageview->trail)
return FALSE;
return sc_g_list_bigger(messageview->trail, messageview->trail_pos + 1);
-----------------------------------------------------------------------
Summary of changes:
src/imap.c | 44 ++++++++++++++++++++++++++------------------
src/importldif.c | 3 ++-
src/main.c | 40 +++++++++++++++++++++++++++-------------
src/mainwindow.c | 4 ++--
src/messageview.c | 5 +++--
5 files changed, 60 insertions(+), 36 deletions(-)
hooks/post-receive
--
Claws Mail
More information about the Commits
mailing list