Fix handshake hole assert failed and coredump

This commit is contained in:
wangfuyu 2023-10-07 15:59:37 +08:00 committed by ivanfywang
parent 8890b98bb0
commit dd30f233da
1 changed files with 5 additions and 1 deletions

View File

@ -1055,7 +1055,11 @@ continue_handshake (struct mini_conn *mc)
*/
TAILQ_FOREACH(packet_in, &mc->mc_packets_in, pi_next)
{
assert(n_hsk_chunks < sizeof(hsk_chunks) / sizeof(hsk_chunks[0]));
if (n_hsk_chunks >= sizeof(hsk_chunks) / sizeof(hsk_chunks[0])) {
LSQ_WARN("too many handshake packets");
return -1;
}
if (0 == (packet_in->pi_flags & PI_HSK_STREAM))
continue;
s = parse_frame(packet_in->pi_data + packet_in->pi_hsk_stream,