From ab5426e6bb5917c02dd795a6cec2f245c10d3011 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Wed, 3 Dec 2025 11:32:31 -0500 Subject: [PATCH] Fix possible invalid poll export. --- .../thoughtcrime/securesms/backup/v2/ArchiveErrorCases.kt | 4 ++++ .../securesms/backup/v2/exporters/ChatItemArchiveExporter.kt | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ArchiveErrorCases.kt b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ArchiveErrorCases.kt index 9a7f11e8f0..c1d2200855 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ArchiveErrorCases.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ArchiveErrorCases.kt @@ -135,6 +135,10 @@ object ExportSkips { return log(sentTimestamp, "Poll option was invalid.") } + fun pollNotInGroupChat(sentTimestamp: Long): String { + return log(sentTimestamp, "Poll was not in a group chat.") + } + fun individualChatUpdateInWrongTypeOfChat(sentTimestamp: Long): String { return log(sentTimestamp, "A chat update that only makes sense for individual chats was found in a different kind of chat.") } diff --git a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/exporters/ChatItemArchiveExporter.kt b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/exporters/ChatItemArchiveExporter.kt index 8f431435c3..ad43291b23 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/exporters/ChatItemArchiveExporter.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/exporters/ChatItemArchiveExporter.kt @@ -395,6 +395,11 @@ class ChatItemArchiveExporter( } extraData.pollsById[record.id] != null -> { + if (exportState.threadIdToRecipientId[builder.chatId] !in exportState.groupRecipientIds) { + Log.w(TAG, ExportSkips.pollNotInGroupChat(record.dateSent)) + continue + } + val poll = extraData.pollsById[record.id]!! if (poll.question.isEmpty() || poll.question.length > MAX_POLL_CHARACTER_LENGTH) { Log.w(TAG, ExportSkips.invalidPollQuestion(record.dateSent))