summaryrefslogtreecommitdiff
path: root/gtk/gui.c
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2014-07-17 15:20:38 +0100
committerVincent Sanders <vince@kyllikki.org>2014-07-17 15:20:38 +0100
commit5b4d38b29b6b69a0cab20e094727b3ba2055d761 (patch)
tree994ac76653040eebba608821c4b30d00dd7fb4b6 /gtk/gui.c
parentdb0163734370a39676fe45b27105b454fa391ce7 (diff)
downloadnetsurf-5b4d38b29b6b69a0cab20e094727b3ba2055d761.tar.gz
netsurf-5b4d38b29b6b69a0cab20e094727b3ba2055d761.tar.bz2
stop using certificate data from the stack outside the message context.
Diffstat (limited to 'gtk/gui.c')
-rw-r--r--gtk/gui.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/gtk/gui.c b/gtk/gui.c
index bb83721fe..95e503af2 100644
--- a/gtk/gui.c
+++ b/gtk/gui.c
@@ -653,10 +653,18 @@ static void gui_cert_verify(nsurl *url, const struct ssl_cert_info *certs,
GError* error = NULL;
GtkBuilder* builder;
+ /* state while window is open */
+ session = calloc(sizeof(void *), 3);
+ if (session == NULL) {
+ return;
+ }
+
builder = gtk_builder_new ();
if (!gtk_builder_add_from_file(builder, glade_file_location->ssl, &error)) {
g_warning("Couldn't load builder file: %s", error->message);
g_error_free(error);
+
+ free(session);
return;
}
@@ -667,11 +675,6 @@ static void gui_cert_verify(nsurl *url, const struct ssl_cert_info *certs,
scrolled = GTK_SCROLLED_WINDOW(gtk_builder_get_object(builder, "SSLScrolled"));
drawing_area = GTK_DRAWING_AREA(gtk_builder_get_object(builder, "SSLDrawingArea"));
- session = calloc(sizeof(void *), 3);
-
- if (session == NULL) {
- return;
- }
ssl_window = nsgtk_treeview_create(TREE_SSLCERT, window, scrolled,
drawing_area);