[tracker/sam/fix-load: 30/31] libtracker-data: Fix crash when statement cache isn't initialized
- From: Sam Thursfield <sthursfield src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker/sam/fix-load: 30/31] libtracker-data: Fix crash when statement cache isn't initialized
- Date: Sat, 4 Apr 2020 13:55:20 +0000 (UTC)
commit e6bce71373afd6c68d12984acc4807987b173155
Author: Sam Thursfield <sam afuera me uk>
Date: Sun Mar 8 16:21:46 2020 +0100
libtracker-data: Fix crash when statement cache isn't initialized
This was causing LOAD updates to fail.
src/libtracker-data/tracker-db-interface-sqlite.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
---
diff --git a/src/libtracker-data/tracker-db-interface-sqlite.c
b/src/libtracker-data/tracker-db-interface-sqlite.c
index b57c3a8b3..fb5bcb46d 100644
--- a/src/libtracker-data/tracker-db-interface-sqlite.c
+++ b/src/libtracker-data/tracker-db-interface-sqlite.c
@@ -2608,7 +2608,10 @@ tracker_db_interface_lru_insert_unchecked (TrackerDBInterface *db_inter
* `- [n-p] <- [n-p] <--------' *
* */
- if (stmt_lru->size >= stmt_lru->max) {
+ if (stmt_lru->size == 0) {
+ stmt_lru->head = stmt;
+ stmt_lru->tail = stmt;
+ } else if (stmt_lru->size >= stmt_lru->max) {
TrackerDBStatement *new_head;
/* We reached max-size of the LRU stmt cache. Destroy current
@@ -2621,11 +2624,6 @@ tracker_db_interface_lru_insert_unchecked (TrackerDBInterface *db_inter
(gpointer) sqlite3_sql (stmt_lru->head->stmt));
stmt_lru->size--;
stmt_lru->head = new_head;
- } else {
- if (stmt_lru->size == 0) {
- stmt_lru->head = stmt;
- stmt_lru->tail = stmt;
- }
}
/* Set the current stmt (which is always new here) as the new tail
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]