Skip to content

Commit 4456cc1

Browse files
committed
don't blow up the size of the receiver chain
1 parent 351f810 commit 4456cc1

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

libsignal-protocol-dotnet/state/SessionState.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -312,8 +312,8 @@ public MessageKeys removeMessageKeys(ECPublicKey senderEphemeral, uint counter)
312312
chain.MessageKeys.Clear();
313313
chain.MessageKeys.AddRange(messageKeyList);
314314

315-
this.sessionStructure.ReceiverChains.Insert((int)chainAndIndex.second(), chain);
316-
return result;
315+
sessionStructure.ReceiverChains[(int)chainAndIndex.second()] = chain;
316+
return result;
317317
}
318318

319319
public void setMessageKeys(ECPublicKey senderEphemeral, MessageKeys messageKeys)
@@ -334,8 +334,8 @@ public void setMessageKeys(ECPublicKey senderEphemeral, MessageKeys messageKeys)
334334
chain.MessageKeys.RemoveAt(0);
335335
}
336336

337-
this.sessionStructure.ReceiverChains.Insert((int)chainAndIndex.second(), chain);
338-
}
337+
sessionStructure.ReceiverChains[(int)chainAndIndex.second()] = chain;
338+
}
339339

340340
public void setReceiverChainKey(ECPublicKey senderEphemeral, ChainKey chainKey)
341341
{
@@ -349,9 +349,9 @@ public void setReceiverChainKey(ECPublicKey senderEphemeral, ChainKey chainKey)
349349
};
350350

351351
chain.ChainKey = chainKeyStructure;
352-
353-
this.sessionStructure.ReceiverChains.Insert((int)chainAndIndex.second(), chain);
354-
}
352+
353+
sessionStructure.ReceiverChains[(int) chainAndIndex.second()] = chain;
354+
}
355355

356356
public void setPendingKeyExchange(uint sequence,
357357
ECKeyPair ourBaseKey,

0 commit comments

Comments
 (0)