talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

commit 25aa3098da2f29c3d9f2dd9919e03fcfba285ee1
parent 7370b83371a4fe6ff78a90922d95f31d139b730c
Author: Colin Leroy <colin@colino.net>
Date:   Thu, 17 Apr 2008 16:39:10 +0000

2008-04-17 [colin]	3.3.1cvs59

	* src/imap.c
		Fix debian bug 474712, 'claws seg faults when IMAP
		connection breaks after an IMAP protocol error
		(BAD UID SEARCH Invalid parameter: $Forwarded)]'
	* src/summaryview.c
		Fix a little leak

Diffstat:
MChangeLog | 9+++++++++
MPATCHSETS | 1+
Mconfigure.ac | 2+-
Msrc/imap.c | 16+++++-----------
Msrc/summaryview.c | 3++-
5 files changed, 18 insertions(+), 13 deletions(-)

diff --git a/ChangeLog b/ChangeLog @@ -1,3 +1,12 @@ +2008-04-17 [colin] 3.3.1cvs59 + + * src/imap.c + Fix debian bug 474712, 'claws seg faults when IMAP + connection breaks after an IMAP protocol error + (BAD UID SEARCH Invalid parameter: $Forwarded)]' + * src/summaryview.c + Fix a little leak + 2008-04-17 [colin] 3.3.1cvs58 * src/common/log.c diff --git a/PATCHSETS b/PATCHSETS @@ -3293,3 +3293,4 @@ ( cvs diff -u -r 1.1.2.23 -r 1.1.2.24 src/prefs_receive.c; ) > 3.3.1cvs56.patchset ( cvs diff -u -r 1.1.2.27 -r 1.1.2.28 src/prefs_other.c; ) > 3.3.1cvs57.patchset ( cvs diff -u -r 1.6.2.18 -r 1.6.2.19 src/common/log.c; ) > 3.3.1cvs58.patchset +( cvs diff -u -r 1.179.2.215 -r 1.179.2.216 src/imap.c; cvs diff -u -r 1.395.2.363 -r 1.395.2.364 src/summaryview.c; ) > 3.3.1cvs59.patchset diff --git a/configure.ac b/configure.ac @@ -11,7 +11,7 @@ MINOR_VERSION=3 MICRO_VERSION=1 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=58 +EXTRA_VERSION=59 EXTRA_RELEASE= EXTRA_GTK2_VERSION= diff --git a/src/imap.c b/src/imap.c @@ -4403,7 +4403,6 @@ static /*gint*/ void *imap_get_flags_thread(void *data) gboolean full_search = stuff->full_search; GSList *sorted_list = NULL; GSList *unseen = NULL, *answered = NULL, *flagged = NULL, *deleted = NULL, *forwarded = NULL; - GSList *p_unseen, *p_answered, *p_flagged, *p_deleted, *p_forwarded; GSList *seq_list, *cur; gboolean reverse_seen = FALSE; gboolean selected_folder; @@ -4533,11 +4532,6 @@ static /*gint*/ void *imap_get_flags_thread(void *data) } } } - p_unseen = unseen; - p_answered = answered; - p_forwarded = forwarded; - p_flagged = flagged; - p_deleted = deleted; } else { r = imap_threaded_fetch_uid_flags(folder, 1, &lep_uidtab); @@ -4574,7 +4568,7 @@ bail: } if (reverse_seen) flags |= MSG_UNREAD | (wasnew ? MSG_NEW : 0); - if (gslist_find_next_num(&p_unseen, msginfo->msgnum) == msginfo->msgnum) { + if (gslist_find_next_num(&unseen, msginfo->msgnum) == msginfo->msgnum) { if (!reverse_seen) { flags |= MSG_UNREAD | (wasnew ? MSG_NEW : 0); } else { @@ -4582,21 +4576,21 @@ bail: } } - if (gslist_find_next_num(&p_flagged, msginfo->msgnum) == msginfo->msgnum) + if (gslist_find_next_num(&flagged, msginfo->msgnum) == msginfo->msgnum) flags |= MSG_MARKED; else flags &= ~MSG_MARKED; if (fitem->opened || fitem->processing_pending || fitem == folder->inbox) { - if (gslist_find_next_num(&p_answered, msginfo->msgnum) == msginfo->msgnum) + if (gslist_find_next_num(&answered, msginfo->msgnum) == msginfo->msgnum) flags |= MSG_REPLIED; else flags &= ~MSG_REPLIED; - if (gslist_find_next_num(&p_forwarded, msginfo->msgnum) == msginfo->msgnum) + if (gslist_find_next_num(&forwarded, msginfo->msgnum) == msginfo->msgnum) flags |= MSG_FORWARDED; else flags &= ~MSG_FORWARDED; - if (gslist_find_next_num(&p_deleted, msginfo->msgnum) == msginfo->msgnum) + if (gslist_find_next_num(&deleted, msginfo->msgnum) == msginfo->msgnum) flags |= MSG_DELETED; else flags &= ~MSG_DELETED; diff --git a/src/summaryview.c b/src/summaryview.c @@ -2565,6 +2565,7 @@ static void summary_status_show(SummaryView *summaryview) gtk_label_set_text(GTK_LABEL(summaryview->statlabel_msgs), str); + g_free(str); #if GTK_CHECK_VERSION(2, 12, 0) tooltip = g_strdup_printf(_("<b>Message summary</b>\n" "<b>New:</b> %d\n" @@ -2584,8 +2585,8 @@ static void summary_status_show(SummaryView *summaryview) gtk_widget_set_tooltip_markup(GTK_WIDGET(summaryview->statlabel_msgs), tooltip); + g_free(tooltip); #endif - g_free(str); } else { gchar *ssize, *tsize; if (n_selected) {