[seahorse/gnome-3-4] Fix memory errors when limiting the servers to search for keys



commit e710225ccf6a6c76607af8f44d2dabb3fc0d031f
Author: Robert Ancell <robert ancell canonical com>
Date:   Wed Apr 11 15:05:36 2012 +1000

    Fix memory errors when limiting the servers to search for keys
    
    https://bugzilla.gnome.org/show_bug.cgi?id=673884

 pgp/seahorse-pgp-backend.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)
---
diff --git a/pgp/seahorse-pgp-backend.c b/pgp/seahorse-pgp-backend.c
index 2b1e093..b473a8a 100644
--- a/pgp/seahorse-pgp-backend.c
+++ b/pgp/seahorse-pgp-backend.c
@@ -428,11 +428,11 @@ seahorse_pgp_backend_search_remote_async (SeahorsePgpBackend *self,
 	/* Get a list of all selected key servers */
 	names = g_settings_get_strv (seahorse_context_settings (NULL), "last-search-servers");
 	if (names != NULL && names[0] != NULL) {
-		servers = g_hash_table_new (g_str_hash, g_str_equal);
+		servers = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
 		for (i = 0; names[i] != NULL; i++)
-			g_hash_table_insert (servers, names[i], GINT_TO_POINTER (TRUE));
-		g_strfreev (names);
+			g_hash_table_insert (servers, g_strdup (names[i]), GINT_TO_POINTER (TRUE));
 	}
+	g_strfreev (names);
 
 	res = g_simple_async_result_new (G_OBJECT (self), callback, user_data,
 	                                 seahorse_pgp_backend_search_remote_async);
@@ -459,6 +459,9 @@ seahorse_pgp_backend_search_remote_async (SeahorsePgpBackend *self,
 		closure->num_searches++;
 	}
 
+	if (servers)
+		g_hash_table_unref (servers);
+
 	if (closure->num_searches == 0)
 		g_simple_async_result_complete_in_idle (res);
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]