diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2016-12-26 21:02:51 +0100 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2017-01-16 17:18:59 +0100 |
commit | e36dbad6dadc36b00f50b39fdca3f1648592e003 (patch) | |
tree | 18cf81529cedf1280ecd31ad110bb78dc92ee2b7 | |
parent | 5b7109f5031edc2e78621658771bc01240a5c736 (diff) | |
download | tracker-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.c | 4 |
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'", |