changeset 214:0e98514a3905

Applied patch from Mark Hessling to prevent the return buffer from the file dialup from being free()ed before being strdup()ed.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Tue, 04 Feb 2003 11:03:48 +0000
parents f8b50901ac45
children 03e68274623d
files gtk/dw.c
diffstat 1 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/gtk/dw.c	Sun Feb 02 11:01:39 2003 +0000
+++ b/gtk/dw.c	Tue Feb 04 11:03:48 2003 +0000
@@ -6835,14 +6835,16 @@
 #else
 	char *tmp;
 #endif
+	char *tmpdup=NULL;
 
 	if(!dwwait)
 		return FALSE;
 
-	tmp = gtk_file_selection_get_filename(GTK_FILE_SELECTION(dwwait->data));
+	if((tmp = gtk_file_selection_get_filename(GTK_FILE_SELECTION(dwwait->data))))
+		tmpdup = strdup(tmp);
 	gtk_widget_destroy(GTK_WIDGET(dwwait->data));
 	_dw_file_active = 0;
-	dw_dialog_dismiss(dwwait, (void *)(tmp ? strdup(tmp) : NULL));
+	dw_dialog_dismiss(dwwait, (void *)tmpdup);
 	return FALSE;
 }