Package: epiphany-browser / 3.32.1.2-3~deb10u1

gsb-service-ref-self-for-lifetime-of-update-thread.patch Patch series | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
From: Michael Catanzaro <mcatanzaro@igalia.com>
Date: Thu, 18 Apr 2019 20:05:21 +0000
Subject: gsb-service: ref self for lifetime of update thread

Fixes #736

(cherry picked from commit cefc3e33cca914cdc3130e589bc855491baaf004)
Origin: upstream, 3.32.2, commit:28eee99ade1cfb4fa84b50f844e0bfac3c2a4b21
---
 lib/safe-browsing/ephy-gsb-service.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/safe-browsing/ephy-gsb-service.c b/lib/safe-browsing/ephy-gsb-service.c
index fd9d84d..d31fbc1 100644
--- a/lib/safe-browsing/ephy-gsb-service.c
+++ b/lib/safe-browsing/ephy-gsb-service.c
@@ -292,6 +292,8 @@ out:
   g_list_free_full (threat_lists, (GDestroyNotify)ephy_gsb_threat_list_free);
 
   ephy_gsb_storage_set_metadata (self->storage, "next_list_updates_time", self->next_list_updates_time);
+
+  g_object_unref (self);
 }
 
 static void
@@ -313,7 +315,7 @@ ephy_gsb_service_update (EphyGSBService *self)
   g_assert (ephy_gsb_storage_is_operable (self->storage));
 
   g_atomic_int_set (&self->is_updating, TRUE);
-  task = g_task_new (self, NULL,
+  task = g_task_new (g_object_ref (self), NULL,
                      (GAsyncReadyCallback)ephy_gsb_service_update_finished_cb,
                      NULL);
   g_task_run_in_thread (task, (GTaskThreadFunc)ephy_gsb_service_update_thread);