commit 0c7308ca2b1075894669bc61ddf7f3a1ac4f9cb4
parent 1850c52bb1dbf16e55a80258b63c6c6f825d49ce
Author: Jonathan Boeing <jonathan@claws-mail.org>
Date: Thu, 9 Sep 2021 22:09:33 -0700
Fix crash in address book edit person details
Bug 4534 'Address book causing claws to terminate unexpectedly'
Clearing the list store triggers a cursor-changed signal, leading to a
potential crash with a use-after-free
Diffstat:
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/editaddress.c b/src/editaddress.c
@@ -1710,12 +1710,12 @@ static gboolean addressbook_edit_person_close( gboolean cancelled )
listEMail = edit_person_build_email_list();
listAttrib = edit_person_build_attrib_list();
if( cancelled ) {
- addritem_free_list_email( listEMail );
- addritem_free_list_attribute( listAttrib );
model = gtk_tree_view_get_model(GTK_TREE_VIEW(personeditdlg.view_email));
gtk_list_store_clear(GTK_LIST_STORE(model));
model = gtk_tree_view_get_model(GTK_TREE_VIEW(personeditdlg.view_attrib));
gtk_list_store_clear(GTK_LIST_STORE(model));
+ addritem_free_list_email( listEMail );
+ addritem_free_list_attribute( listAttrib );
if (!prefs_common.addressbook_use_editaddress_dialog)
gtk_widget_hide( personeditdlg.container );