Skip to content

Commit 025a7dc

Browse files
committed
dtls13: lock list manipulation
1 parent 3034dd9 commit 025a7dc

1 file changed

Lines changed: 12 additions & 0 deletions

File tree

src/dtls13.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -837,6 +837,11 @@ static void Dtls13RtxRemoveCurAck(WOLFSSL* ssl)
837837
{
838838
Dtls13RecordNumber *rn, **prevNext;
839839

840+
#ifdef WOLFSSL_RW_THREADED
841+
if (wc_LockMutex(&ssl->dtls13Rtx.mutex) != 0)
842+
return;
843+
#endif
844+
840845
prevNext = &ssl->dtls13Rtx.seenRecords;
841846
rn = ssl->dtls13Rtx.seenRecords;
842847

@@ -845,12 +850,19 @@ static void Dtls13RtxRemoveCurAck(WOLFSSL* ssl)
845850
w64Equal(rn->seq, ssl->keys.curSeq)) {
846851
*prevNext = rn->next;
847852
XFREE(rn, ssl->heap, DYNAMIC_TYPE_DTLS_MSG);
853+
#ifdef WOLFSSL_RW_THREADED
854+
wc_UnLockMutex(&ssl->dtls13Rtx.mutex);
855+
#endif
848856
return;
849857
}
850858

851859
prevNext = &rn->next;
852860
rn = rn->next;
853861
}
862+
863+
#ifdef WOLFSSL_RW_THREADED
864+
wc_UnLockMutex(&ssl->dtls13Rtx.mutex);
865+
#endif
854866
}
855867

856868
static void Dtls13MaybeSaveClientHello(WOLFSSL* ssl)

0 commit comments

Comments
 (0)