aa4f887
From 9b6d40905c21b476c58e9f9a908ddb32a0a56a18 Mon Sep 17 00:00:00 2001
aa4f887
From: =?UTF-8?q?Mat=C4=9Bj=20Grabovsk=C3=BD?= <mgrabovs@redhat.com>
aa4f887
Date: Tue, 29 Sep 2020 19:14:05 +0200
aa4f887
Subject: [PATCH] gui-wizard-gtk: Don't autofree URL string
aa4f887
aa4f887
g_object_set_data() does not (and cannot) copy the data passed to it, so
aa4f887
once url is freed, a subsequent access to the 'url' tag leads to an
aa4f887
invalid read and segfault.
aa4f887
aa4f887
Bug was introduced in df386b097.
aa4f887
aa4f887
Resolves rhbz#1882328
aa4f887
---
aa4f887
 src/gui-wizard-gtk/wizard.c | 4 ++--
aa4f887
 1 file changed, 2 insertions(+), 2 deletions(-)
aa4f887
aa4f887
diff --git a/src/gui-wizard-gtk/wizard.c b/src/gui-wizard-gtk/wizard.c
aa4f887
index 0af19587..ba1998df 100644
aa4f887
--- a/src/gui-wizard-gtk/wizard.c
aa4f887
+++ b/src/gui-wizard-gtk/wizard.c
aa4f887
@@ -462,8 +462,8 @@ static void append_to_textview(GtkTextView *tv, const char *str)
aa4f887
         GtkTextTag *tag;
aa4f887
         tag = gtk_text_buffer_create_tag(tb, NULL, "foreground", "blue",
aa4f887
                                          "underline", PANGO_UNDERLINE_SINGLE, NULL);
aa4f887
-        g_autofree char *url = g_strndup(t->start, t->len);
aa4f887
-        g_object_set_data(G_OBJECT(tag), "url", url);
aa4f887
+        char *url = g_strndup(t->start, t->len);
aa4f887
+        g_object_set_data_full(G_OBJECT(tag), "url", url, g_free);
aa4f887
 
aa4f887
         gtk_text_buffer_insert_with_tags(tb, &text_iter, url, -1, tag, NULL);
aa4f887
 
aa4f887
-- 
aa4f887
2.26.2
aa4f887