Hello community,

here is the log from the commit of package epiphany for openSUSE:Factory 
checked in at 2019-02-01 11:45:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/epiphany (Old)
 and      /work/SRC/openSUSE:Factory/.epiphany.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "epiphany"

Fri Feb  1 11:45:30 2019 rev:160 rq:669858 version:3.30.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/epiphany/epiphany.changes        2018-12-28 
12:36:12.479926277 +0100
+++ /work/SRC/openSUSE:Factory/.epiphany.new.28833/epiphany.changes     
2019-02-01 11:45:31.592547486 +0100
@@ -1,0 +2,8 @@
+Fri Jan 25 18:59:27 UTC 2019 - [email protected]
+
+- Add epiphany-bookmark-ensure-tags-sequence-is-created.patch:
+  bookmark: ensure tags sequence is always created. Somehow we are
+  getting EphyBookmarks objects deserialized without initializing
+  the tags property.
+
+-------------------------------------------------------------------

New:
----
  epiphany-bookmark-ensure-tags-sequence-is-created.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ epiphany.spec ++++++
--- /var/tmp/diff_new_pack.uYwKY0/_old  2019-02-01 11:45:32.344546713 +0100
+++ /var/tmp/diff_new_pack.uYwKY0/_new  2019-02-01 11:45:32.356546701 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package epiphany
 #
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -25,6 +25,7 @@
 URL:            https://wiki.gnome.org/Apps/Web
 Source0:        
https://download.gnome.org/sources/epiphany/3.30/%{name}-%{version}.tar.xz
 Source99:       %{name}-rpmlintrc
+
 # PATCH-FIX-UPSTREAM epiphany-window-Set-correct-current-height.patch -- 
window: set correct current height
 Patch0:         epiphany-window-Set-correct-current-height.patch
 # PATCH-FIX-UPSTREAM epiphany-encoding-dialog-add-some-column-spacing.patch -- 
encoding-dialog: add some column spacing to grid
@@ -37,6 +38,8 @@
 Patch4:         epiphany-Fix-saving-web-app-icons.patch
 # PATCH-FIX-UPSTREAM epiphany-Fix-remote-inspector-support.patch -- Fix remote 
inspector support
 Patch5:         epiphany-Fix-remote-inspector-support.patch
+# PATCH-FIX-UPSTREAM epiphany-bookmark-ensure-tags-sequence-is-created.patch 
-- Fix bookmark tags creation.
+Patch6:         epiphany-bookmark-ensure-tags-sequence-is-created.patch
 
 BuildRequires:  fdupes
 BuildRequires:  meson

++++++ epiphany-bookmark-ensure-tags-sequence-is-created.patch ++++++
>From d571984e24c0a24fd1d09da4341f79eea7286723 Mon Sep 17 00:00:00 2001
From: Michael Catanzaro <[email protected]>
Date: Mon, 7 Jan 2019 19:38:22 +0000
Subject: [PATCH] bookmark: ensure tags sequence is always created

Somehow we are getting EphyBookmarks objects deserialized without
initializing the tags property. I'm not sure how this happens. It even
happens for JSON corresponding to bookmarks that definitely have tags
set. Anyway, ephy_bookmark_get_tags() is used as if the result is not
nullable, so let's guarantee this and return an empty list instead in
this case.

This is a speculative fix for #612. It should fix the reported crash,
but it's possible it will only uncover a subsequent crash.


(cherry picked from commit 672cffa5ec652a5d5f7d98d0e0664408d58dcf8c)
---
 src/bookmarks/ephy-bookmark.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/bookmarks/ephy-bookmark.c b/src/bookmarks/ephy-bookmark.c
index 43619a4ef..514a54aec 100644
--- a/src/bookmarks/ephy-bookmark.c
+++ b/src/bookmarks/ephy-bookmark.c
@@ -99,9 +99,10 @@ ephy_bookmark_set_property (GObject      *object,
       ephy_bookmark_set_url (self, g_value_get_string (value));
       break;
     case PROP_TAGS:
-      if (self->tags != NULL)
-        g_sequence_free (self->tags);
+      g_sequence_free (self->tags);
       self->tags = g_value_get_pointer (value);
+      if (!self->tags)
+        self->tags = g_sequence_new (g_free);
       break;
     case PROP_TYPE:
       g_free (self->type);
@@ -176,8 +177,7 @@ ephy_bookmark_finalize (GObject *object)
   g_free (self->title);
   g_free (self->id);
 
-  if (self->tags)
-    g_sequence_free (self->tags);
+  g_sequence_free (self->tags);
 
   G_OBJECT_CLASS (ephy_bookmark_parent_class)->finalize (object);
 }
@@ -279,6 +279,7 @@ ephy_bookmark_class_init (EphyBookmarkClass *klass)
 static void
 ephy_bookmark_init (EphyBookmark *self)
 {
+  self->tags = g_sequence_new (g_free);
 }
 
 EphyBookmark *
@@ -456,6 +457,7 @@ GSequence *
 ephy_bookmark_get_tags (EphyBookmark *self)
 {
   g_assert (EPHY_IS_BOOKMARK (self));
+  g_assert (self->tags);
 
   return self->tags;
 }
-- 
2.18.1


Reply via email to