fix overzealous assertion (M1531906)

This commit is contained in:
Cameron Kaiser 2020-08-29 22:39:44 -07:00
parent bf39401a52
commit af9a8236e8
1 changed files with 3 additions and 2 deletions

View File

@ -1197,14 +1197,15 @@ ssl3_SetSIDSessionTicket(sslSessionID *sid,
* anything yet, so no locking is needed.
*/
if (sid->u.ssl3.lock) {
PORT_Assert(sid->cached == in_client_cache);
PR_RWLock_Wlock(sid->u.ssl3.lock);
/* Another thread may have evicted, or it may be in external cache. */
PORT_Assert(sid->cached != never_cached);
}
/* If this was in the client cache, then we might have to free the old
* ticket. In TLS 1.3, we might get a replacement ticket if the server
* sends more than one ticket. */
if (sid->u.ssl3.locked.sessionTicket.ticket.data) {
PORT_Assert(sid->cached == in_client_cache ||
PORT_Assert(sid->cached != never_cached ||
sid->version >= SSL_LIBRARY_VERSION_TLS_1_3);
SECITEM_FreeItem(&sid->u.ssl3.locked.sessionTicket.ticket,
PR_FALSE);