gnucash stable: [gnc-backend-dbi.cpp] if returning early, don't allocate char*
Christopher Lam
clam at code.gnucash.org
Sun Jul 2 10:18:35 EDT 2023
Updated via https://github.com/Gnucash/gnucash/commit/b011c81b (commit)
from https://github.com/Gnucash/gnucash/commit/9ee3dd95 (commit)
commit b011c81b624ac870b4b6b1967296109e7bfacc50
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Sun Jul 2 21:38:23 2023 +0800
[gnc-backend-dbi.cpp] if returning early, don't allocate char*
this function may return early causing leak from allocating
g_build_filename.
diff --git a/libgnucash/backend/dbi/gnc-backend-dbi.cpp b/libgnucash/backend/dbi/gnc-backend-dbi.cpp
index abc3822411..f15aa0567c 100644
--- a/libgnucash/backend/dbi/gnc-backend-dbi.cpp
+++ b/libgnucash/backend/dbi/gnc-backend-dbi.cpp
@@ -1094,12 +1094,14 @@ gnc_module_init_backend_dbi (void)
#endif
if (num_drivers <= 0)
{
+#if HAVE_LIBDBI_R
+ if (dbi_instance)
+ return;
+#endif
gchar *libdir = gnc_path_get_libdir ();
gchar *dir = g_build_filename (libdir, "dbd", nullptr);
g_free (libdir);
#if HAVE_LIBDBI_R
- if (dbi_instance)
- return;
num_drivers = dbi_initialize_r (dir, &dbi_instance);
#else
num_drivers = dbi_initialize (dir);
Summary of changes:
libgnucash/backend/dbi/gnc-backend-dbi.cpp | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
More information about the gnucash-changes
mailing list