summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2016-12-26 21:02:51 +0100
committerCarlos Garnacho <carlosg@gnome.org>2017-01-16 17:18:59 +0100
commite36dbad6dadc36b00f50b39fdca3f1648592e003 (patch)
tree18cf81529cedf1280ecd31ad110bb78dc92ee2b7
parent5b7109f5031edc2e78621658771bc01240a5c736 (diff)
downloadtracker-e36dbad6dadc36b00f50b39fdca3f1648592e003.tar.gz
libtracker-data: Plug unlikely mem/fd leak
If we fail to set the DB pragmas, the TrackerDBInterface would be leaked altogether.
-rw-r--r--src/libtracker-data/tracker-db-manager.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libtracker-data/tracker-db-manager.c b/src/libtracker-data/tracker-db-manager.c
index cd3b625d5..3a1d021be 100644
--- a/src/libtracker-data/tracker-db-manager.c
+++ b/src/libtracker-data/tracker-db-manager.c
@@ -336,6 +336,7 @@ db_interface_get (TrackerDB type,
if (internal_error) {
g_propagate_error (error, internal_error);
+ g_object_unref (iface);
return NULL;
}
@@ -1420,10 +1421,9 @@ tracker_db_manager_get_db_interfaces (GError **error,
if (internal_error) {
g_propagate_error (error, internal_error);
- connection = NULL;
+ g_clear_object (&connection);
goto end_on_error;
}
-
} else {
db_exec_no_reply (connection,
"ATTACH '%s' as '%s'",