From 8c2db972cf8fec827f93469ac8f86dbaa745bdb6 Mon Sep 17 00:00:00 2001
From: Ehren Kret <ehren@signal.org>
Date: Fri, 22 Apr 2022 06:55:42 -0500
Subject: [PATCH] Fix crash if recipient appears multiple times in group update
 description.

Without starting from start index, if the same recipient appears
multiple times in the recipient list, this function will crash.
---
 .../securesms/database/model/GroupsV2UpdateMessageProducer.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/model/GroupsV2UpdateMessageProducer.java b/app/src/main/java/org/thoughtcrime/securesms/database/model/GroupsV2UpdateMessageProducer.java
index 6156a41fcf..d94174fcdb 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/database/model/GroupsV2UpdateMessageProducer.java
+++ b/app/src/main/java/org/thoughtcrime/securesms/database/model/GroupsV2UpdateMessageProducer.java
@@ -871,7 +871,7 @@ final class GroupsV2UpdateMessageProducer {
 
     for (RecipientId recipientId : recipientIds) {
       String placeholder      = makePlaceholder(recipientId);
-      int    placeHolderStart = template.indexOf(placeholder);
+      int    placeHolderStart = template.indexOf(placeholder, startIndex);
       String beforeChunk      = template.substring(startIndex, placeHolderStart);
 
       builder.append(beforeChunk);
-- 
GitLab