@@ -708,7 +708,8 @@ CHIP_ERROR CASESession::SendSigma1()
708
708
ReturnErrorOnFailure (
709
709
tlvWriter.PutBytes (TLV::ContextTag (4 ), mEphemeralKey ->Pubkey (), static_cast <uint32_t >(mEphemeralKey ->Pubkey ().Length ())));
710
710
711
- ReturnErrorOnFailure (EncodeSessionParameters (TLV::ContextTag (5 ), mLocalMRPConfig , tlvWriter));
711
+ VerifyOrReturnError (mLocalMRPConfig .HasValue (), CHIP_ERROR_INCORRECT_STATE);
712
+ ReturnErrorOnFailure (EncodeSessionParameters (TLV::ContextTag (5 ), mLocalMRPConfig .Value (), tlvWriter));
712
713
713
714
// Try to find persistent session, and resume it.
714
715
bool resuming = false ;
@@ -955,7 +956,8 @@ CHIP_ERROR CASESession::SendSigma2Resume()
955
956
956
957
ReturnErrorOnFailure (tlvWriter.Put (TLV::ContextTag (3 ), GetLocalSessionId ().Value ()));
957
958
958
- ReturnErrorOnFailure (EncodeSessionParameters (TLV::ContextTag (4 ), mLocalMRPConfig , tlvWriter));
959
+ VerifyOrReturnError (mLocalMRPConfig .HasValue (), CHIP_ERROR_INCORRECT_STATE);
960
+ ReturnErrorOnFailure (EncodeSessionParameters (TLV::ContextTag (4 ), mLocalMRPConfig .Value (), tlvWriter));
959
961
960
962
ReturnErrorOnFailure (tlvWriter.EndContainer (outerContainerType));
961
963
ReturnErrorOnFailure (tlvWriter.Finalize (&msg_R2_resume));
@@ -1091,7 +1093,8 @@ CHIP_ERROR CASESession::SendSigma2()
1091
1093
ReturnErrorOnFailure (tlvWriterMsg2.PutBytes (TLV::ContextTag (4 ), msg_R2_Encrypted.Get (),
1092
1094
static_cast <uint32_t >(msg_r2_signed_enc_len + CHIP_CRYPTO_AEAD_MIC_LENGTH_BYTES)));
1093
1095
1094
- ReturnErrorOnFailure (EncodeSessionParameters (TLV::ContextTag (5 ), mLocalMRPConfig , tlvWriterMsg2));
1096
+ VerifyOrReturnError (mLocalMRPConfig .HasValue (), CHIP_ERROR_INCORRECT_STATE);
1097
+ ReturnErrorOnFailure (EncodeSessionParameters (TLV::ContextTag (5 ), mLocalMRPConfig .Value (), tlvWriterMsg2));
1095
1098
1096
1099
ReturnErrorOnFailure (tlvWriterMsg2.EndContainer (outerContainerType));
1097
1100
ReturnErrorOnFailure (tlvWriterMsg2.Finalize (&msg_R2));
0 commit comments