summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2017-02-22 15:02:18 +0100
committerCarlos Garnacho <carlosg@gnome.org>2017-02-24 17:20:52 +0100
commitc2eaeecb47497249d08b716d4db8d5d29566ae74 (patch)
treebf15c4509914372fd2535bb5894bb0850c86b94d
parent9d55f35d48facb4ab10cd2a5ae6dc812f6828a28 (diff)
downloadtracker-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.c5
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 */