From f35bb9cdacca52edf2ef3dc2eb39209b2b4a88c3 Mon Sep 17 00:00:00 2001 From: Ali <> Date: Mon, 22 May 2023 23:55:27 +0400 Subject: [PATCH] Fix out of bounds crash --- .../TelegramUI/Sources/ChatMessageBubbleItemNode.swift | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/submodules/TelegramUI/Sources/ChatMessageBubbleItemNode.swift b/submodules/TelegramUI/Sources/ChatMessageBubbleItemNode.swift index 86195c01d6..1a4fde239e 100644 --- a/submodules/TelegramUI/Sources/ChatMessageBubbleItemNode.swift +++ b/submodules/TelegramUI/Sources/ChatMessageBubbleItemNode.swift @@ -285,10 +285,12 @@ private func contentNodeMessagesAndClassesForItem(_ item: ChatMessageItem) -> ([ result.append((firstMessage, ChatMessageReactionsFooterContentNode.self, ChatMessageEntryAttributes(), BubbleItemAttributes(isAttachment: true, neighborType: .freeform, neighborSpacing: .default))) needReactions = false } else if result.last?.1 == ChatMessageCommentFooterContentNode.self { - if result[result.count - 2].1 == ChatMessageWebpageBubbleContentNode.self || - result[result.count - 2].1 == ChatMessagePollBubbleContentNode.self || - result[result.count - 2].1 == ChatMessageContactBubbleContentNode.self { - result.insert((firstMessage, ChatMessageReactionsFooterContentNode.self, ChatMessageEntryAttributes(), BubbleItemAttributes(isAttachment: true, neighborType: .freeform, neighborSpacing: .default)), at: result.count - 1) + if result.count >= 2 { + if result[result.count - 2].1 == ChatMessageWebpageBubbleContentNode.self || + result[result.count - 2].1 == ChatMessagePollBubbleContentNode.self || + result[result.count - 2].1 == ChatMessageContactBubbleContentNode.self { + result.insert((firstMessage, ChatMessageReactionsFooterContentNode.self, ChatMessageEntryAttributes(), BubbleItemAttributes(isAttachment: true, neighborType: .freeform, neighborSpacing: .default)), at: result.count - 1) + } } } }