diff options
Diffstat (limited to 'gtk/dialogs')
-rw-r--r-- | gtk/dialogs/gtk_options.c | 13 | ||||
-rw-r--r-- | gtk/dialogs/gtk_source.c | 9 |
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); |