From ab3da706594ddc09352bd58c3deb88debd7eb613 Mon Sep 17 00:00:00 2001 From: Sean Fox Date: Thu, 29 Jan 2009 08:13:28 +0000 Subject: Squash some memory leaks. svn path=/trunk/netsurf/; revision=6290 --- gtk/gtk_download.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'gtk/gtk_download.c') diff --git a/gtk/gtk_download.c b/gtk/gtk_download.c index 5c1076eb3..23b30ef88 100644 --- a/gtk/gtk_download.c +++ b/gtk/gtk_download.c @@ -215,7 +215,7 @@ struct gui_download_window *gui_download_window_create(const char *url, strcpy(domain, messages_get("gtkUnknownHost")); destination = nsgtk_download_dialog_show(filename, domain, size); - if (destination == NULL) + if (destination == NULL) return NULL; /* Add the new row and store the reference to it (which keeps track of @@ -236,12 +236,15 @@ struct gui_download_window *gui_download_window_create(const char *url, download->time_remaining = -1; download->status = NSGTK_DOWNLOAD_NONE; download->filename = destination; - download->progress = 0; + download->progress = 0; download->error = NULL; - download->write = g_io_channel_new_file(destination, "w", + download->write = g_io_channel_new_file(destination, "w", &download->error); if (nsgtk_download_handle_error(download->error)) { - free(download); + g_string_free(download->name, TRUE); + g_string_free(download->time_left, TRUE); + g_free(download->filename); + free(download); return NULL; } g_io_channel_set_encoding(download->write, NULL, @@ -527,6 +530,9 @@ void nsgtk_download_store_clear_item (struct gui_download_window *dl) gtk_tree_row_reference_get_path(dl->row)); gtk_list_store_remove(nsgtk_download_store, &nsgtk_download_iter); + g_string_free(dl->name, TRUE); + g_string_free(dl->time_left, TRUE); + g_free(dl->filename); g_free(dl); nsgtk_download_sensitivity_evaluate(nsgtk_download_selection); -- cgit v1.2.3