[gimp] app: Fix potential memory leak in save dialog code
- From: Martin Nordholts <martinn src gnome org>
- To: svn-commits-list gnome org
- Subject: [gimp] app: Fix potential memory leak in save dialog code
- Date: Fri, 15 May 2009 14:44:01 -0400 (EDT)
commit 8033f4c0d508e86dee233641981932e30e4a6ec1
Author: Martin Nordholts <martinn src gnome org>
Date: Sun May 10 21:35:43 2009 +0200
app: Fix potential memory leak in save dialog code
Fix potential memory leak in save dialog code with a new helper function
file_save_dialog_get_uri(). We must free zero-length strings.
---
app/dialogs/file-save-dialog.c | 19 +++++++++++++++++--
1 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/app/dialogs/file-save-dialog.c b/app/dialogs/file-save-dialog.c
index acd4552..0dc0ee6 100644
--- a/app/dialogs/file-save-dialog.c
+++ b/app/dialogs/file-save-dialog.c
@@ -64,6 +64,7 @@ static gboolean file_save_dialog_check_uri (GtkWidget *save_di
gchar **ret_uri,
gchar **ret_basename,
GimpPlugInProcedure **ret_save_proc);
+static gchar * file_save_dialog_get_uri (GimpFileDialog *dialog);
static void file_save_dialog_unknown_ext_msg (GimpFileDialog *dialog,
Gimp *gimp);
static gboolean file_save_dialog_use_extension (GtkWidget *save_dialog,
@@ -212,9 +213,9 @@ file_save_dialog_check_uri (GtkWidget *save_dialog,
GimpPlugInProcedure *uri_proc;
GimpPlugInProcedure *basename_proc;
- uri = gtk_file_chooser_get_uri (GTK_FILE_CHOOSER (save_dialog));
+ uri = file_save_dialog_get_uri (dialog);
- if (! (uri && strlen (uri)))
+ if (! uri)
return FALSE;
basename = file_utils_uri_display_basename (uri);
@@ -427,6 +428,20 @@ file_save_dialog_check_uri (GtkWidget *save_dialog,
return TRUE;
}
+static gchar *
+file_save_dialog_get_uri (GimpFileDialog *dialog)
+{
+ gchar *uri = gtk_file_chooser_get_uri (GTK_FILE_CHOOSER (dialog));
+
+ if (uri && ! strlen (uri))
+ {
+ g_free (uri);
+ uri = NULL;
+ }
+
+ return uri;
+}
+
static void
file_save_dialog_unknown_ext_msg (GimpFileDialog *dialog,
Gimp *gimp)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]