36 lines
1.4 KiB
Diff
36 lines
1.4 KiB
Diff
|
From 62b46b35d4f151c851d7eb37792aa8890117a1e7 Mon Sep 17 00:00:00 2001
|
||
|
From: Carlos Garnacho <carlosg@gnome.org>
|
||
|
Date: Thu, 22 Apr 2021 17:10:49 +0200
|
||
|
Subject: [PATCH] libtracker-data: Do not load vtabs if vtab data is missing
|
||
|
|
||
|
We have one case of direct use of tracker_db_manager_new() in
|
||
|
"tracker3 export" CLI command to (ab)use it to open databases from
|
||
|
2.x. This doesn't pass a TrackerDataManager nor requires creating
|
||
|
the usual 3.x virtual tables.
|
||
|
|
||
|
Avoid this virtual table creation in that case, and subsequent
|
||
|
crashes when trying to access the NULL data manager from those.
|
||
|
|
||
|
Related: https://bugzilla.redhat.com/show_bug.cgi?id=1951194
|
||
|
---
|
||
|
src/libtracker-data/tracker-db-manager.c | 3 ++-
|
||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/src/libtracker-data/tracker-db-manager.c b/src/libtracker-data/tracker-db-manager.c
|
||
|
index e3044819c..5485ce623 100644
|
||
|
--- a/src/libtracker-data/tracker-db-manager.c
|
||
|
+++ b/src/libtracker-data/tracker-db-manager.c
|
||
|
@@ -776,7 +776,8 @@ tracker_db_manager_create_db_interface (TrackerDBManager *db_manager,
|
||
|
g_weak_ref_get (&db_manager->iface_data),
|
||
|
g_object_unref);
|
||
|
|
||
|
- tracker_db_interface_init_vtabs (connection, db_manager->vtab_data);
|
||
|
+ if (db_manager->vtab_data)
|
||
|
+ tracker_db_interface_init_vtabs (connection, db_manager->vtab_data);
|
||
|
|
||
|
iface_set_params (connection,
|
||
|
readonly,
|
||
|
--
|
||
|
2.31.1
|
||
|
|