Fix for async issue with receiving multiple TLS records (server_key_exchange and server_hello_done) in same packet, which may miss call to DoHandShakeMsgType -> HashInput because ssl->error is still marked pending WC_PENDING_E.

This commit is contained in:
David Garske
2018-10-12 10:39:40 -07:00
parent 45eb3ae72d
commit fec726f10a

View File

@ -10909,6 +10909,11 @@ static int DoHandShakeMsgType(WOLFSSL* ssl, byte* input, word32* inOutIdx,
}
#endif
}
/* make sure async error is cleared */
if (ret == 0 && ssl->error == WC_PENDING_E) {
ssl->error = 0;
}
#endif /* WOLFSSL_ASYNC_CRYPT || WOLFSSL_NONBLOCK_OCSP */
WOLFSSL_LEAVE("DoHandShakeMsgType()", ret);