[Commits] [SCM] claws branch, master, updated. 3.10.1-9-g06ce560
Colin
colin at claws-mail.org
Tue Jun 10 16:11:05 CEST 2014
The branch master of project "claws" (Claws Mail) has been updated
via 06ce560be233bdc0e04ec6b3f7ba48a89bd8733d (commit)
from 35e2085f2be6d228a37160220a431cb38c562876 (commit)
- Log -----------------------------------------------------------------
commit 06ce560be233bdc0e04ec6b3f7ba48a89bd8733d
Author: Colin Leroy <colin at colino.net>
Date: Tue Jun 10 16:11:10 2014 +0200
Coverity fixes
diff --git a/src/plugins/vcalendar/month-view.c b/src/plugins/vcalendar/month-view.c
index ba59a2d..e95ffa0 100644
--- a/src/plugins/vcalendar/month-view.c
+++ b/src/plugins/vcalendar/month-view.c
@@ -152,6 +152,11 @@ static char *orage_tm_date_to_i18_date(struct tm *tm_date)
t.tm_mday = tm_date->tm_mday;
t.tm_mon = tm_date->tm_mon - 1;
t.tm_year = tm_date->tm_year - 1900;
+ t.tm_sec = 0;
+ t.tm_min = 0;
+ t.tm_hour = 0;
+ t.tm_wday = 0;
+ t.tm_yday = 0;
if (strftime(i18_date, 32, "%x", &t) == 0)
g_error("Orage: orage_tm_date_to_i18_date too long string in strftime");
return(i18_date);
@@ -548,7 +553,7 @@ static void app_rows(month_win *mw, FolderItem *item)
{
GSList *events = vcal_get_events_list(item);
GSList *cur = NULL;
- int days = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(mw->day_spin));
+ int days = 7;
for (cur = events; cur ; cur = cur->next) {
VCalEvent *event = (VCalEvent *) (cur->data);
add_row(mw, event, days);
@@ -841,7 +846,7 @@ static void build_month_view_table(month_win *mw)
t = 1;
#endif
localtime_r(&t, &tm_today);
- days = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(mw->day_spin));
+ days = 7;
/****** header of day table = days columns ******/
mw->scroll_win_h = gtk_scrolled_window_new(NULL, NULL);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(mw->scroll_win_h)
diff --git a/src/plugins/vcalendar/vcal_folder.c b/src/plugins/vcalendar/vcal_folder.c
index a376914..76928f5 100644
--- a/src/plugins/vcalendar/vcal_folder.c
+++ b/src/plugins/vcalendar/vcal_folder.c
@@ -1844,6 +1844,19 @@ static void update_subscription_finish(const gchar *uri, gchar *feed, gboolean v
}
}
item = folder_create_folder(root->node->data, title);
+ if (!item) {
+ if (verbose && manual_update) {
+ alertpanel_error(_("Could not create directory %s"),
+ title);
+ } else {
+ log_error(LOG_PROTOCOL, _("Could not create directory %s"),
+ title);
+ }
+ g_free(feed);
+ g_free(title);
+ main_window_cursor_normal(mainwindow_get_mainwindow());
+ return;
+ }
debug_print("item done %s\n", title);
((VCalFolderItem *)item)->uri = g_strdup(uri);
((VCalFolderItem *)item)->feed = feed;
@@ -2059,6 +2072,9 @@ static void set_view_cb(GtkAction *gaction, GtkRadioAction *current, gpointer da
oitem = gtk_cmctree_node_get_row_data(ctree, folderview->opened);
item = gtk_cmctree_node_get_row_data(ctree, folderview->selected);
+ if (!item)
+ return;
+
if (((VCalFolderItem *)(item))->use_cal_view == action)
return;
debug_print("set view %d\n", action);
@@ -2171,7 +2187,7 @@ VCalEvent *vcal_get_event_from_ical(const gchar *ical, const gchar *charset)
gchar *recur = NULL;
int sequence = 0;
enum icalproperty_method method = ICAL_METHOD_REQUEST;
- enum icalproperty_kind type = ICAL_VEVENT_COMPONENT;
+ enum icalcomponent_kind type = ICAL_VEVENT_COMPONENT;
GSList *attendees = NULL;
if (comp == NULL) {
diff --git a/src/plugins/vcalendar/vcal_manager.c b/src/plugins/vcalendar/vcal_manager.c
index 7ae557e..7a4cef2 100644
--- a/src/plugins/vcalendar/vcal_manager.c
+++ b/src/plugins/vcalendar/vcal_manager.c
@@ -638,8 +638,8 @@ gchar *vcal_manager_dateevent_dump(const gchar *uid, FolderItem *item)
if (str_write_to_file(body, tmpfile) < 0) {
g_free(tmpfile);
tmpfile = NULL;
- }
- chmod(tmpfile, S_IRUSR|S_IWUSR);
+ } else
+ chmod(tmpfile, S_IRUSR|S_IWUSR);
g_free(body);
g_free(headers);
@@ -751,8 +751,8 @@ gchar *vcal_manager_icalevent_dump(icalcomponent *event, gchar *orga, icalcompon
if (str_write_to_file(body, tmpfile) < 0) {
g_free(tmpfile);
tmpfile = NULL;
- }
- chmod(tmpfile, S_IRUSR|S_IWUSR);
+ } else
+ chmod(tmpfile, S_IRUSR|S_IWUSR);
g_strfreev(lines);
g_free(body);
@@ -776,7 +776,7 @@ VCalEvent * vcal_manager_new_event (const gchar *uid,
const gchar *url,
enum icalproperty_method method,
gint sequence,
- enum icalproperty_kind type)
+ enum icalcomponent_kind type)
{
VCalEvent *event = g_new0(VCalEvent, 1);
@@ -953,14 +953,20 @@ void vcal_manager_save_event (VCalEvent *event, gboolean export_after)
path = vcal_manager_get_event_file(event->uid);
if ((pfile = prefs_write_open(path)) == NULL) {
- make_dir(vcal_manager_get_event_path());
+ gchar *dir_path = vcal_manager_get_event_path();
+ if (!is_dir_exist(dir_path) && make_dir(vcal_manager_get_event_path()) != 0) {
+ g_free(dir_path);
+ g_free(path);
+ return;
+ }
+ g_free(dir_path);
if ((pfile = prefs_write_open(path)) == NULL) {
- free(path);
+ g_free(path);
return;
}
}
- free(path);
+ g_free(path);
xml_file_put_xml_decl(pfile->fp);
xml_write_tree(rootnode, pfile->fp);
xml_free_tree(rootnode);
@@ -1174,6 +1180,8 @@ static gchar *write_headers(PrefsAccount *account,
gchar msgid[128];
gchar *calmsgid = NULL;
+ cm_return_val_if_fail(account != NULL, NULL);
+
memset(date, 0, sizeof(date));
if (is_pseudo_display) {
diff --git a/src/plugins/vcalendar/vcal_manager.h b/src/plugins/vcalendar/vcal_manager.h
index 4545cd6..9a4b43f 100644
--- a/src/plugins/vcalendar/vcal_manager.h
+++ b/src/plugins/vcalendar/vcal_manager.h
@@ -85,7 +85,7 @@ VCalEvent *vcal_manager_new_event (const gchar *uid,
const gchar *url,
enum icalproperty_method method,
gint sequence,
- enum icalproperty_kind type);
+ enum icalcomponent_kind type);
void vcal_manager_free_event (VCalEvent *event);
void vcal_manager_save_event (VCalEvent *event, gboolean export_after);
diff --git a/src/plugins/vcalendar/vcal_meeting_gtk.c b/src/plugins/vcalendar/vcal_meeting_gtk.c
index 5dd32ad..eae703e 100644
--- a/src/plugins/vcalendar/vcal_meeting_gtk.c
+++ b/src/plugins/vcalendar/vcal_meeting_gtk.c
@@ -362,7 +362,7 @@ static gchar *get_organizer(VCalMeeting *meet)
cur = cur->next;
i++;
}
- if (cur)
+ if (cur && cur->data)
return g_strdup(((PrefsAccount *)(cur->data))->address);
else
return g_strdup("");
@@ -378,7 +378,7 @@ static gchar *get_organizer_name(VCalMeeting *meet)
cur = cur->next;
i++;
}
- if (cur)
+ if (cur && cur->data)
return g_strdup(((PrefsAccount *)(cur->data))->name);
else
return g_strdup("");
@@ -1247,10 +1247,17 @@ static gboolean send_meeting_cb(GtkButton *widget, gpointer data)
gdk_window_set_cursor(meet->window->window, watch_cursor);
organizer = get_organizer(meet);
- organizer_name = get_organizer_name(meet);
account = account_find_from_address(organizer, FALSE);
- if (account && account->set_domain && account->domain) {
+ if(account == NULL) {
+ debug_print("can't get account from address %s\n", organizer);
+ g_free(organizer);
+ return FALSE;
+ }
+
+ organizer_name = get_organizer_name(meet);
+
+ if (account->set_domain && account->domain) {
g_snprintf(buf, sizeof(buf), "%s", account->domain);
} else if (!strncmp(get_domain_name(), "localhost", strlen("localhost"))) {
g_snprintf(buf, sizeof(buf), "%s",
@@ -1943,12 +1950,11 @@ void multisync_export(void)
icalcomponent *calendar = NULL;
FILE *fp;
- if (is_dir_exist(path))
- remove_dir_recursive(path);
- if (!is_dir_exist(path))
- make_dir(path);
- if (!is_dir_exist(path)) {
- perror(path);
+ if (is_dir_exist(path) && remove_dir_recursive(path) < 0) {
+ g_free(path);
+ return;
+ }
+ if (make_dir(path) != 0) {
g_free(path);
return;
}
diff --git a/src/plugins/vcalendar/vcalendar.c b/src/plugins/vcalendar/vcalendar.c
index 263d542..bdfe503 100644
--- a/src/plugins/vcalendar/vcalendar.c
+++ b/src/plugins/vcalendar/vcalendar.c
@@ -1321,8 +1321,11 @@ void vcalendar_init(void)
gchar *directory = g_strconcat(get_rc_dir(), G_DIR_SEPARATOR_S,
"vcalendar", NULL);
START_TIMING("");
- if (!is_dir_exist(directory))
- make_dir (directory);
+ if (!is_dir_exist(directory) && make_dir (directory) != 0) {
+ g_free(directory);
+ return;
+ }
+
g_free(directory);
vcal_prefs_init();
@@ -1339,16 +1342,15 @@ void vcalendar_init(void)
folder_scan_tree(folder, TRUE);
END_TIMING();
}
- if (folder) {
- if (!folder->inbox) {
- folder->klass->create_tree(folder);
- folder_scan_tree(folder, TRUE);
- }
- if (folder->klass->scan_required(folder, folder->inbox)) {
- START_TIMING("scanning folder");
- folder_item_scan(folder->inbox);
- END_TIMING();
- }
+
+ if (!folder->inbox) {
+ folder->klass->create_tree(folder);
+ folder_scan_tree(folder, TRUE);
+ }
+ if (folder->klass->scan_required(folder, folder->inbox)) {
+ START_TIMING("scanning folder");
+ folder_item_scan(folder->inbox);
+ END_TIMING();
}
vcal_folder_gtk_init();
-----------------------------------------------------------------------
Summary of changes:
src/plugins/vcalendar/month-view.c | 9 +++++++--
src/plugins/vcalendar/vcal_folder.c | 18 +++++++++++++++++-
src/plugins/vcalendar/vcal_manager.c | 24 ++++++++++++++++--------
src/plugins/vcalendar/vcal_manager.h | 2 +-
src/plugins/vcalendar/vcal_meeting_gtk.c | 26 ++++++++++++++++----------
src/plugins/vcalendar/vcalendar.c | 26 ++++++++++++++------------
6 files changed, 71 insertions(+), 34 deletions(-)
hooks/post-receive
--
Claws Mail
More information about the Commits
mailing list