From: Andrej Kacian Date: Thu, 3 May 2018 11:05:46 +0000 (+0200) Subject: Fix memory handling around SieveEditorPage. X-Git-Tag: 3.17.0~126 X-Git-Url: http://git.claws-mail.org/?p=claws.git;a=commitdiff_plain;h=9af57a8c0c6d4908bc422596bc57cbf74ee6bf2f Fix memory handling around SieveEditorPage. --- diff --git a/src/plugins/managesieve/sieve_editor.c b/src/plugins/managesieve/sieve_editor.c index d32265240..f7793ad89 100644 --- a/src/plugins/managesieve/sieve_editor.c +++ b/src/plugins/managesieve/sieve_editor.c @@ -415,6 +415,7 @@ static void sieve_editor_destroy(SieveEditorPage *page) { gtk_widget_destroy(page->window); undo_destroy(page->undostruct); + g_free(page->script_name); g_free(page); } diff --git a/src/plugins/managesieve/sieve_manager.c b/src/plugins/managesieve/sieve_manager.c index 8a9af4ced..0f7ec0e1a 100644 --- a/src/plugins/managesieve/sieve_manager.c +++ b/src/plugins/managesieve/sieve_manager.c @@ -198,13 +198,14 @@ static void filter_edit(GtkWidget *widget, SieveManagerPage *page) editor = sieve_editor_get(session, filter_name); if (editor) { sieve_editor_present(editor); + g_free(filter_name); } else { editor = sieve_editor_new(session, filter_name); + /* filter_name becomes ownership of newly created + * SieveEditorPage, so we do not need to free it here. */ sieve_editor_load(editor, (sieve_session_cb_fn)filter_got_load_error, page); } - - g_free(filter_name); } static void filter_renamed(SieveSession *session, gboolean abort,