Fix memory leaks.
authorJelmer Vernooij <jelmer@samba.org>
Mon, 2 Apr 2007 12:09:28 +0000 (14:09 +0200)
committerJelmer Vernooij <jelmer@samba.org>
Mon, 2 Apr 2007 12:09:28 +0000 (14:09 +0200)
src/help.c
src/network.c

index 1f930ae38cc1ad2661bae4b5c2d94abecad68360..b89dee7732621f9e16a19281b0007b0df4ba392b 100644 (file)
@@ -41,7 +41,8 @@ void help_free(help_t *h)
 
 GHashTable *help_build_hash(char *data, gsize len)
 {
-       GHashTable *h = g_hash_table_new(g_str_hash, g_str_equal);
+       GHashTable *h = g_hash_table_new_full(g_str_hash, g_str_equal,
+                                                                                 g_free, NULL);
        gsize i;
        char *p;
 
index 7f3f999698ded9b022e9ec14e41ea2afb35ea0d7..e4a252c7c0831d5f4a1a6d2173aa1def9a21d4ff 100644 (file)
@@ -999,6 +999,7 @@ struct network *load_network(struct global *global, struct network_config *sc)
        s->connection.pending_lines = g_queue_new();
        s->global = global;
        s->info.forced_nick_changes = TRUE; /* Forced nick changes are done by ctrlproxy */
+       g_free(s->info.charset);
        s->info.charset = g_strdup(s->global->config->client_charset);
        s->connection.outgoing_iconv = s->connection.incoming_iconv = (GIConv)-1;
 
@@ -1052,7 +1053,6 @@ void unload_network(struct network *s)
                disconnect_client(c, "Server exiting");
        }
 
-
        if (s->global != NULL) {
                s->global->networks = g_list_remove(s->global->networks, s);
        }