From 1a912d8098d9e2e0fe684afb434f17d005d00ba6 Mon Sep 17 00:00:00 2001 From: Colin Leroy Date: Thu, 25 Jul 2013 13:33:55 +0200 Subject: [PATCH] Fix an use-after-free --- src/mimeview.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/mimeview.c b/src/mimeview.c index 64bbdd9d8..caec7d99b 100644 --- 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 */ -- 2.25.1