From 6a423cb18be070763494f6ecf5bcd42b9aca0b45 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Mon, 12 Jan 2026 10:16:52 -0500 Subject: [PATCH] Fetch abandoned attachment files in a transaction. Not likely to affect anything because of the existin protected file system, more just a defense-and-depth style thing. --- .../securesms/database/AttachmentTable.kt | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/AttachmentTable.kt b/app/src/main/java/org/thoughtcrime/securesms/database/AttachmentTable.kt index c74a6e2a70..23ccc6c4f3 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/AttachmentTable.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/database/AttachmentTable.kt @@ -1448,14 +1448,15 @@ class AttachmentTable( val filesInDb: MutableSet = HashSet(filesOnDisk.size) - readableDatabase - .select(DATA_FILE, THUMBNAIL_FILE) - .from(TABLE_NAME) - .run() - .forEach { cursor -> - cursor.requireString(DATA_FILE)?.let { filesInDb += it } - cursor.requireString(THUMBNAIL_FILE)?.let { filesInDb += it } - } + readableDatabase.withinTransaction { db -> + db.select(DATA_FILE, THUMBNAIL_FILE) + .from(TABLE_NAME) + .run() + .forEach { cursor -> + cursor.requireString(DATA_FILE)?.let { filesInDb += it } + cursor.requireString(THUMBNAIL_FILE)?.let { filesInDb += it } + } + } filesInDb += SignalDatabase.stickers.getAllStickerFiles()