gnucash maint: Bug 798047 - Crash on delete account.
John Ralls
jralls at code.gnucash.org
Sat Dec 12 19:40:55 EST 2020
Updated via https://github.com/Gnucash/gnucash/commit/7de24dec (commit)
from https://github.com/Gnucash/gnucash/commit/cf5db5cf (commit)
commit 7de24dec62627f6ae995720ee38694ae01165066
Author: John Ralls <jralls at ceridwen.us>
Date: Sat Dec 12 16:40:18 2020 -0800
Bug 798047 - Crash on delete account.
Use after free. Never a good idea.
diff --git a/gnucash/gnome/gnc-plugin-page-account-tree.c b/gnucash/gnome/gnc-plugin-page-account-tree.c
index fb2154dc4..cbb434ddc 100644
--- a/gnucash/gnome/gnc-plugin-page-account-tree.c
+++ b/gnucash/gnome/gnc-plugin-page-account-tree.c
@@ -1668,12 +1668,11 @@ gnc_plugin_page_account_tree_cmd_delete_account (GtkAction *action, GncPluginPag
if (!(xaccAccountGetSplitList (account) != NULL ||
gnc_account_n_children (account)))
{
- do_delete_account (account, NULL, NULL, NULL);
-
/* update opening balance account */
gnc_find_or_create_equity_account (gnc_account_get_root(account),
EQUITY_OPENING_BALANCE,
xaccAccountGetCommodity (account));
+ do_delete_account (account, NULL, NULL, NULL);
return;
}
@@ -1709,13 +1708,12 @@ gnc_plugin_page_account_tree_cmd_delete_account (GtkAction *action, GncPluginPag
adopt.subacct.new_account,
adopt.delete_res) == GTK_RESPONSE_ACCEPT)
{
- do_delete_account (account, adopt.subacct.new_account,
- adopt.subtrans.new_account, adopt.trans.new_account);
-
/* update opening balance account */
gnc_find_or_create_equity_account (gnc_account_get_root(account),
EQUITY_OPENING_BALANCE,
xaccAccountGetCommodity (account));
+ do_delete_account (account, adopt.subacct.new_account,
+ adopt.subtrans.new_account, adopt.trans.new_account);
}
}
Summary of changes:
gnucash/gnome/gnc-plugin-page-account-tree.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
More information about the gnucash-changes
mailing list