gnucash maint: Memory leak in gnc-gsettings.c

Phil Longstaff plongstaff at code.gnucash.org
Sun Feb 28 16:41:19 EST 2016


Updated	 via  https://github.com/Gnucash/gnucash/commit/cb88fe8f (commit)
	from  https://github.com/Gnucash/gnucash/commit/97b7c265 (commit)



commit cb88fe8f93bffa661c17e9edda3b7fde3d019602
Author: Phil Longstaff <phil.longstaff at yahoo.ca>
Date:   Sun Feb 28 07:42:37 2016 -0500

    Memory leak in gnc-gsettings.c

diff --git a/src/app-utils/gnc-gsettings.c b/src/app-utils/gnc-gsettings.c
index c40e147..b663a2c 100644
--- a/src/app-utils/gnc-gsettings.c
+++ b/src/app-utils/gnc-gsettings.c
@@ -95,7 +95,7 @@ static GSettings * gnc_gsettings_get_schema_ptr (const gchar *schema_str)
 
     ENTER("");
     if (!schema_hash)
-        schema_hash = g_hash_table_new (g_str_hash, g_str_equal);
+        schema_hash = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
 
     gset = g_hash_table_lookup (schema_hash, full_name);
     DEBUG ("Looking for schema %s returned gsettings %p", full_name, gset);
@@ -108,8 +108,10 @@ static GSettings * gnc_gsettings_get_schema_ptr (const gchar *schema_str)
         else
             PWARN ("Ignoring attempt to access unknown gsettings schema %s", full_name);
     }
-
-    g_free(full_name);
+    else
+    {
+        g_free(full_name);
+    }
 
     LEAVE("");
     return gset;



Summary of changes:
 src/app-utils/gnc-gsettings.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)



More information about the gnucash-changes mailing list