diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2017-02-22 15:02:18 +0100 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2017-02-24 17:20:52 +0100 |
commit | c2eaeecb47497249d08b716d4db8d5d29566ae74 (patch) | |
tree | bf15c4509914372fd2535bb5894bb0850c86b94d | |
parent | 9d55f35d48facb4ab10cd2a5ae6dc812f6828a28 (diff) | |
download | tracker-c2eaeecb47497249d08b716d4db8d5d29566ae74.tar.gz |
libtracker-data: Clear possible error
The same GError may be reused further ahead, which would doubly free
it as it gets non-NULL again to error handling paths.
-rw-r--r-- | src/libtracker-data/tracker-data-update.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/libtracker-data/tracker-data-update.c b/src/libtracker-data/tracker-data-update.c index b4390dd98..9928bce85 100644 --- a/src/libtracker-data/tracker-data-update.c +++ b/src/libtracker-data/tracker-data-update.c @@ -3452,7 +3452,8 @@ tracker_data_rollback_transaction (void) tracker_db_interface_execute_query (iface, &ignorable, "ROLLBACK"); if (ignorable) { - g_error_free (ignorable); + g_warning ("Transaction rollback failed: %s\n", ignorable->message); + g_clear_error (&ignorable); } tracker_db_interface_execute_query (iface, NULL, "PRAGMA cache_size = %d", TRACKER_DB_CACHE_SIZE_DEFAULT); @@ -3468,7 +3469,7 @@ tracker_data_rollback_transaction (void) * journal file failing (in case of TRANSACTION_FORMAT_ONTOLOGY) */ g_warning ("Error ignored while rolling back transaction in journal: %s", ignorable->message ? ignorable->message : "No error given"); - g_error_free (ignorable); + g_clear_error (&ignorable); } #endif /* DISABLE_JOURNAL */ |