[PATCH] Fixed a couple of memleaks in gtk-gui.c and info.c

Lubomir I. Ivanov neolit123 at gmail.com
Tue Sep 18 04:24:54 PDT 2012


From: "Lubomir I. Ivanov" <neolit123 at gmail.com>

Related to subsurface_default_filename() and g_path_get_basename().
Against 3835faa8fb02df8edb.

Signed-off-by: Lubomir I. Ivanov <neolit123 at gmail.com>
---
 gtk-gui.c | 1 +
 info.c    | 9 +++++++--
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/gtk-gui.c b/gtk-gui.c
index 26039fb..e5013c9 100644
--- a/gtk-gui.c
+++ b/gtk-gui.c
@@ -526,6 +526,7 @@ static void pick_default_file(GtkWidget *w, GtkButton *button)
 
 	free(current_def_dir);
 	free(current_def_file);
+	free((void *)current_default);
 	gtk_widget_destroy(fs_dialog);
 	gtk_window_set_accept_focus(GTK_WINDOW(preferences), TRUE);
 }
diff --git a/info.c b/info.c
index 3f7bbcd..ad482f1 100644
--- a/info.c
+++ b/info.c
@@ -113,10 +113,13 @@ void show_dive_info(struct dive *dive)
 	const char *text;
 	char buffer[80];
 	char title[80];
+	char *basename;
 
 	if (!dive) {
 		if (existing_filename) {
-			snprintf(title, 80, "Subsurface: %s", g_path_get_basename(existing_filename));
+			basename = g_path_get_basename(existing_filename);
+			snprintf(title, 80, "Subsurface: %s", basename);
+			free(basename);
 			gtk_window_set_title(GTK_WINDOW(main_window), title);
 		} else {
 			gtk_window_set_title(GTK_WINDOW(main_window), "Subsurface");
@@ -145,7 +148,9 @@ void show_dive_info(struct dive *dive)
 
 	/* put it all together */
 	if (existing_filename) {
-		snprintf(title, 80, "%s: %s", g_path_get_basename(existing_filename), text);
+		basename = g_path_get_basename(existing_filename);
+		snprintf(title, 80, "%s: %s", basename, text);
+		free(basename);
 		gtk_window_set_title(GTK_WINDOW(main_window), title);
 	} else {
 		gtk_window_set_title(GTK_WINDOW(main_window), text);
-- 
1.7.11.msysgit.0



More information about the subsurface mailing list