[tracker/sam/survive-missing-ontologies-gvdb: 2/2] Fix crash in read-only mode when ontologies.gdvb is missing
- From: Sam Thursfield <sthursfield src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker/sam/survive-missing-ontologies-gvdb: 2/2] Fix crash in read-only mode when ontologies.gdvb is missing
- Date: Sat, 2 Mar 2019 16:07:06 +0000 (UTC)
commit ef89b93f424c45f50db2772e99c9b715395d75f3
Author: Sam Thursfield <sam afuera me uk>
Date: Sat Mar 2 17:03:34 2019 +0100
Fix crash in read-only mode when ontologies.gdvb is missing
We shouldn't unref the manager->ontologies object if loading the
new ontologies failed. Fixes a crash in the fallback code path.
src/libtracker-data/tracker-data-manager.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
---
diff --git a/src/libtracker-data/tracker-data-manager.c b/src/libtracker-data/tracker-data-manager.c
index 76361eed9..f676fde65 100644
--- a/src/libtracker-data/tracker-data-manager.c
+++ b/src/libtracker-data/tracker-data-manager.c
@@ -3954,6 +3954,7 @@ static void
load_ontologies_gvdb (TrackerDataManager *manager,
GError **error)
{
+ TrackerOntologies *ontologies;
gchar *filename;
GFile *child;
@@ -3961,8 +3962,12 @@ load_ontologies_gvdb (TrackerDataManager *manager,
filename = g_file_get_path (child);
g_object_unref (child);
- g_object_unref (manager->ontologies);
- manager->ontologies = tracker_ontologies_load_gvdb (filename, error);
+ ontologies = tracker_ontologies_load_gvdb (filename, error);
+
+ if (ontologies != NULL) {
+ g_object_unref (manager->ontologies);
+ manager->ontologies = ontologies;
+ }
g_free (filename);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]