From 23bd7164511bf26af231097d2ee10da78fdd1fb7 Mon Sep 17 00:00:00 2001 From: Christopher Lam Date: Fri, 30 Jul 2021 23:18:20 +0800 Subject: [PATCH] g_free gnc-path's gchar* intermediate strings --- libgnucash/backend/dbi/gnc-backend-dbi.cpp | 4 ++- libgnucash/core-utils/gnc-filepath-utils.cpp | 26 +++++++++++++++----- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/libgnucash/backend/dbi/gnc-backend-dbi.cpp b/libgnucash/backend/dbi/gnc-backend-dbi.cpp index db48774790..11030e19dd 100644 --- a/libgnucash/backend/dbi/gnc-backend-dbi.cpp +++ b/libgnucash/backend/dbi/gnc-backend-dbi.cpp @@ -1100,7 +1100,9 @@ gnc_module_init_backend_dbi (void) #endif if (num_drivers <= 0) { - gchar* dir = g_build_filename (gnc_path_get_libdir (), "dbd", nullptr); + 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; diff --git a/libgnucash/core-utils/gnc-filepath-utils.cpp b/libgnucash/core-utils/gnc-filepath-utils.cpp index d26f5fb6ab..34f482d4ca 100644 --- a/libgnucash/core-utils/gnc-filepath-utils.cpp +++ b/libgnucash/core-utils/gnc-filepath-utils.cpp @@ -1174,7 +1174,9 @@ gnc_build_data_path (const gchar *filename) gchar * gnc_build_scm_path (const gchar *filename) { - gchar *result = g_build_filename(gnc_path_get_scmdir(), filename, (gchar *)NULL); + gchar *scmdir = gnc_path_get_scmdir (); + gchar *result = g_build_filename (scmdir, filename, (gchar *)NULL); + g_free (scmdir); return result; } @@ -1190,7 +1192,9 @@ gnc_build_scm_path (const gchar *filename) gchar * gnc_build_report_path (const gchar *filename) { - gchar *result = g_build_filename(gnc_path_get_reportdir(), filename, (gchar *)NULL); + gchar *rptdir = gnc_path_get_reportdir (); + gchar *result = g_build_filename (rptdir, filename, (gchar *)NULL); + g_free (rptdir); return result; } @@ -1206,7 +1210,9 @@ gnc_build_report_path (const gchar *filename) gchar * gnc_build_reports_path (const gchar *dirname) { - gchar *result = g_build_filename(gnc_path_get_reportsdir(), dirname, (gchar *)NULL); + gchar *rptsdir = gnc_path_get_reportsdir (); + gchar *result = g_build_filename (rptsdir, dirname, (gchar *)NULL); + g_free (rptsdir); return result; } @@ -1222,7 +1228,9 @@ gnc_build_reports_path (const gchar *dirname) gchar * gnc_build_stdreports_path (const gchar *filename) { - gchar *result = g_build_filename(gnc_path_get_stdreportsdir(), filename, (gchar *)NULL); + gchar *stdrptdir = gnc_path_get_stdreportsdir (); + gchar *result = g_build_filename (stdrptdir, filename, (gchar *)NULL); + g_free (stdrptdir); return result; } @@ -1253,7 +1261,10 @@ gnc_filepath_locate_file (const gchar *default_path, const gchar *name) gchar * gnc_filepath_locate_data_file (const gchar *name) { - return gnc_filepath_locate_file (gnc_path_get_pkgdatadir(), name); + gchar *pkgdatadir = gnc_path_get_pkgdatadir (); + gchar *result = gnc_filepath_locate_file (pkgdatadir, name); + g_free (pkgdatadir); + return result; } gchar * @@ -1289,7 +1300,10 @@ gnc_filepath_locate_ui_file (const gchar *name) gchar * gnc_filepath_locate_doc_file (const gchar *name) { - return gnc_filepath_locate_file (gnc_path_get_pkgdocdir(), name); + gchar *docdir = gnc_path_get_pkgdocdir (); + gchar *result = gnc_filepath_locate_file (docdir, name); + g_free (docdir); + return result; }