From b3c4adada1f37a5e2a0871125c1ded9f744283b7 Mon Sep 17 00:00:00 2001 From: Wessel Nieboer Date: Tue, 3 Mar 2026 00:45:25 +0100 Subject: [PATCH] prevent rekeying wrong contact --- src/helpers/BaseChatMesh.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/helpers/BaseChatMesh.cpp b/src/helpers/BaseChatMesh.cpp index 65633bdfd..1da057626 100644 --- a/src/helpers/BaseChatMesh.cpp +++ b/src/helpers/BaseChatMesh.cpp @@ -993,6 +993,10 @@ bool BaseChatMesh::removeContact(ContactInfo& contact) { removeSessionKey(contact.id.pub_key); // also remove session key if any + // adjust pending rekey index before shifting array + if (_pending_rekey_idx == idx) _pending_rekey_idx = -1; + else if (_pending_rekey_idx > idx) _pending_rekey_idx--; + // remove from contacts array and parallel nonce tracking num_contacts--; while (idx < num_contacts) {