pghmcfc / rpms / gnucash

Forked from rpms/gnucash 2 years ago
Clone
Blob Blame History Raw
From 0f026f6a100e336b1f6a41ab1556d3d79f232e64 Mon Sep 17 00:00:00 2001
From: Robert Fewell <14uBobIT@gmail.com>
Date: Thu, 8 Jul 2021 09:33:10 +0100
Subject: [PATCH] Bug 798221 - Transfer funds between accounts with different
 currencies crashes Gnucash on macOS

In the scrub function find_account_matching_name_in_list there was a
test for account names being the same for currency but condition was
backwards so was matching on account names being different. There was
also a g_list_free resulting in a double free which was removed.
---
 libgnucash/engine/Scrub.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/libgnucash/engine/Scrub.c b/libgnucash/engine/Scrub.c
index 88965cefb02..888378cdeed 100644
--- a/libgnucash/engine/Scrub.c
+++ b/libgnucash/engine/Scrub.c
@@ -1434,11 +1434,8 @@ find_account_matching_name_in_list (GList *acc_list, const char* accname)
     {
         Account *acc = GNC_ACCOUNT (node->data);
         if (G_UNLIKELY (!acc)) continue;
-        if (g_strcmp0 (accname, xaccAccountGetName(acc)))
-        {
-            g_list_free (acc_list);
+        if (g_strcmp0 (accname, xaccAccountGetName (acc)) == 0)
             return acc;
-        }
     }
     return NULL;
 }