Bug 792763 - deleting a transaction can cause a SIGSEGV

Prevent a NULL transaction from crashing xaccTransCountSplits and
prevent gnc_plugin_business_update_menus from calling it with a
NULL transaction.
pull/276/head
John Ralls 8 years ago
parent 59fb8efaf9
commit 6b49b3ba4c

@ -923,7 +923,7 @@ gnc_plugin_business_update_menus (GncPluginPage *plugin_page)
if (is_txn_register)
{
Transaction *trans = gnc_plugin_page_register_get_current_txn (GNC_PLUGIN_PAGE_REGISTER(plugin_page));
if (xaccTransCountSplits(trans) > 0)
if (trans && xaccTransCountSplits(trans) > 0)
is_bus_txn = (xaccTransGetFirstAPARAcctSplit(trans, TRUE) != NULL);
is_bus_doc = (xaccTransGetTxnType (trans) == TXN_TYPE_INVOICE);
}

@ -2292,6 +2292,7 @@ int
xaccTransCountSplits (const Transaction *trans)
{
gint i = 0;
g_return_val_if_fail (trans != NULL, 0);
FOR_EACH_SPLIT(trans, i++);
return i;
}

Loading…
Cancel
Save