talons

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

commit 1a912d8098d9e2e0fe684afb434f17d005d00ba6
parent e84ba2db17ea9afcb3b14e5a3d5a350e63b5cf2f
Author: Colin Leroy <colin@colino.net>
Date:   Thu, 25 Jul 2013 13:33:55 +0200

Fix an use-after-free

Diffstat:
Msrc/mimeview.c | 8++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/mimeview.c b/src/mimeview.c @@ -1119,13 +1119,14 @@ static void mimeview_check_data_reset(MimeView *mimeview) pthread_cancel(mimeview->check_data->cancel_th); } - g_free(mimeview->check_data); - mimeview->check_data = NULL; - if (must_free) { debug_print("freeing deferred mimeinfo\n"); procmime_mimeinfo_free_all(mimeview->check_data->siginfo); } + + g_free(mimeview->check_data); + mimeview->check_data = NULL; + if (must_destroy) { debug_print("freeing deferred mimeview\n"); mimeview_free_mimeinfo(mimeview); @@ -1134,7 +1135,6 @@ static void mimeview_check_data_reset(MimeView *mimeview) g_free(mimeview); mimeviews = g_slist_remove(mimeviews, mimeview); } - } /* GUI update once the checker thread is done or killed */