From b331ec974e3b3d061a9de3edf91e31b2d1146d57 Mon Sep 17 00:00:00 2001 From: Christopher Lam Date: Mon, 19 Jun 2023 23:47:14 +0800 Subject: [PATCH] [gnc-gsettings.cpp] plug a char* leak full_name leaks if it's already in schema_hash hash table. It would be better to convert GHashTable to unordered_map. --- libgnucash/app-utils/gnc-gsettings.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libgnucash/app-utils/gnc-gsettings.cpp b/libgnucash/app-utils/gnc-gsettings.cpp index 043d1c73a8..864b2c6a31 100644 --- a/libgnucash/app-utils/gnc-gsettings.cpp +++ b/libgnucash/app-utils/gnc-gsettings.cpp @@ -135,10 +135,11 @@ gnc_gsettings_register_cb (const gchar *schema, const gchar *key, { gs_obj = gnc_gsettings_get_settings_obj (schema); if (G_IS_SETTINGS (gs_obj)) - g_hash_table_insert (schema_hash, full_name, gs_obj); + g_hash_table_insert (schema_hash, g_strdup (full_name), gs_obj); else PWARN ("Ignoring attempt to access unknown gsettings schema %s", full_name); } + g_free (full_name); g_return_val_if_fail (G_IS_SETTINGS (gs_obj), 0); auto signal = static_cast (nullptr);