@@ -34817,7 +34817,7 @@ int SendCertificateVerify(WOLFSSL* ssl)
3481734817#ifdef HAVE_SESSION_TICKET
3481834818int SetTicket(WOLFSSL* ssl, const byte* ticket, word32 length)
3481934819{
34820- word32 sessIdLen = 0 ;
34820+ word32 sessIdLen = ID_LEN ;
3482134821
3482234822 if (!HaveUniqueSessionObj(ssl))
3482334823 return MEMORY_ERROR;
@@ -34840,14 +34840,13 @@ int SetTicket(WOLFSSL* ssl, const byte* ticket, word32 length)
3484034840 ssl->session->ticketLen = (word16)length;
3484134841
3484234842 if (length > 0) {
34843- if (length >= ID_LEN)
34844- sessIdLen = ID_LEN;
34845- else
34843+ if (length < ID_LEN)
3484634844 sessIdLen = length;
3484734845 XMEMCPY(ssl->session->ticket, ticket, length);
3484834846 if (ssl->session_ticket_cb != NULL) {
3484934847 ssl->session_ticket_cb(ssl,
34850- ssl->session->ticket, ssl->session->ticketLen,
34848+ ssl->session->ticket,
34849+ ssl->session->ticketLen,
3485134850 ssl->session_ticket_ctx);
3485234851 }
3485334852 /* Create a fake sessionID based on the ticket, this will
@@ -34857,15 +34856,17 @@ int SetTicket(WOLFSSL* ssl, const byte* ticket, word32 length)
3485734856 if (ssl->options.tls1_3) {
3485834857 XMEMSET(ssl->session->sessionID, 0, ID_LEN);
3485934858 XMEMCPY(ssl->session->sessionID,
34860- ssl->session->ticket + length - sessIdLen, sessIdLen);
34859+ ssl->session->ticket + length - sessIdLen,
34860+ sessIdLen);
3486134861 ssl->session->sessionIDSz = ID_LEN;
3486234862 }
3486334863 else
3486434864#endif
3486534865 {
3486634866 XMEMSET(ssl->arrays->sessionID, 0, ID_LEN);
3486734867 XMEMCPY(ssl->arrays->sessionID,
34868- ssl->session->ticket + length - sessIdLen, sessIdLen);
34868+ ssl->session->ticket + length - sessIdLen,
34869+ sessIdLen);
3486934870 ssl->arrays->sessionIDSz = ID_LEN;
3487034871 }
3487134872 }
0 commit comments