summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErnestas Kulik <ernestask@gnome.org>2018-10-06 19:48:30 +0300
committerErnestas Kulik <ernestask@gnome.org>2018-10-06 19:48:30 +0300
commit1d2da6b9913dbe99917494063c5e30bbbb4db679 (patch)
tree80f5f3da7ca40efc88c762b0c6e48980533df7ea
parent982fe134c74f44b652854c30eb2a78fab6ca5db0 (diff)
downloadtracker-wip/ernestask/43.tar.gz
libtracker-sparql: Check for null pointers in finalize()wip/ernestask/43
tracker_notifier_finalize() may accidentally stumble upon a null pointer or two, throwing warnings and making Nautilus CI pipelines fail. Related: https://gitlab.gnome.org/GNOME/tracker/issues/43
-rw-r--r--src/libtracker-sparql/tracker-notifier.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/libtracker-sparql/tracker-notifier.c b/src/libtracker-sparql/tracker-notifier.c
index 4f7647d24..6fc319cb0 100644
--- a/src/libtracker-sparql/tracker-notifier.c
+++ b/src/libtracker-sparql/tracker-notifier.c
@@ -792,11 +792,16 @@ tracker_notifier_finalize (GObject *object)
priv = tracker_notifier_get_instance_private (TRACKER_NOTIFIER (object));
- g_dbus_connection_signal_unsubscribe (priv->dbus_connection,
- priv->graph_updated_signal_id);
+ if (priv->dbus_connection) {
+ g_dbus_connection_signal_unsubscribe (priv->dbus_connection,
+ priv->graph_updated_signal_id);
+
+ g_object_unref (priv->dbus_connection);
+ }
+
+ if (priv->connection)
+ g_object_unref (priv->connection);
- g_object_unref (priv->dbus_connection);
- g_object_unref (priv->connection);
g_hash_table_unref (priv->cached_ids);
g_hash_table_unref (priv->cached_events);
g_strfreev (priv->expanded_classes);