summaryrefslogtreecommitdiff
path: root/gtk/dialogs
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/dialogs')
-rw-r--r--gtk/dialogs/gtk_options.c13
-rw-r--r--gtk/dialogs/gtk_source.c9
2 files changed, 18 insertions, 4 deletions
diff --git a/gtk/dialogs/gtk_options.c b/gtk/dialogs/gtk_options.c
index 00f73e97e..14467aa1b 100644
--- a/gtk/dialogs/gtk_options.c
+++ b/gtk/dialogs/gtk_options.c
@@ -476,6 +476,7 @@ static void nsgtk_options_theme_combo(void) {
gtk_combo_box_append_text(GTK_COMBO_BOX(combotheme), buf);
}
+ fclose(fp);
gtk_combo_box_set_active(GTK_COMBO_BOX(combotheme),
option_current_theme);
gtk_box_pack_start(box, combotheme, FALSE, TRUE, 0);
@@ -855,14 +856,17 @@ BUTTON_CLICKED(buttonaddtheme)
"gtkThemeFolderInstructions"),
0);
gtk_widget_destroy(GTK_WIDGET(fc));
- free(filename);
- free(themesfolder);
+ if (filename != NULL)
+ free(filename);
+ if (themesfolder != NULL)
+ free(themesfolder);
return FALSE;
} else {
directory++;
}
} else {
- free(filename);
+ if (filename != NULL)
+ free(filename);
filename = gtk_file_chooser_get_filename(
GTK_FILE_CHOOSER(fc));
if (strcmp(filename, themesfolder) == 0) {
@@ -877,7 +881,8 @@ BUTTON_CLICKED(buttonaddtheme)
}
gtk_widget_destroy(GTK_WIDGET(fc));
nsgtk_theme_add(directory);
- free(filename);
+ if (filename != NULL)
+ free(filename);
}
END_HANDLER
diff --git a/gtk/dialogs/gtk_source.c b/gtk/dialogs/gtk_source.c
index 361bcabd9..7ee3ef849 100644
--- a/gtk/dialogs/gtk_source.c
+++ b/gtk/dialogs/gtk_source.c
@@ -225,8 +225,17 @@ void nsgtk_source_tab_init(GtkWindow *parent, struct browser_window *bw)
gchar *filename;
char *fileurl;
gint handle = g_file_open_tmp("nsgtksourceXXXXXX", &filename, NULL);
+ if ((handle == -1) || (filename == NULL)) {
+ warn_user(messages_get("gtkSourceTabError"), 0);
+ return;
+ }
close (handle); /* in case it was binary mode */
FILE *f = fopen(filename, "w");
+ if (f == NULL) {
+ warn_user(messages_get("gtkSourceTabError"), 0);
+ g_free(filename);
+ return;
+ }
fprintf(f, "%s", ndata);
fclose(f);
free(ndata);