🐞 fix(quic version len): 增加包长判断,避免读越界
This commit is contained in:
@@ -321,6 +321,8 @@ extern "C" long long QUIC_FLAG_CHANGE(char* flag_str)
|
||||
|
||||
extern "C" void QUIC_DESTROY(void)
|
||||
{
|
||||
MESA_destroy_runtime_log_handle(g_quic_param.logger);
|
||||
g_quic_param.logger = NULL;
|
||||
return ;
|
||||
}
|
||||
|
||||
|
||||
@@ -737,6 +737,11 @@ enum QUIC_VERSION is_quic_protocol(const char *payload, int payload_len, int *pa
|
||||
enum QUIC_VERSION quic_version=QUIC_VERSION_UNKNOWN;
|
||||
unsigned char frame_type=(unsigned char)(payload[0]);
|
||||
|
||||
if(payload_len<=4)
|
||||
{
|
||||
return QUIC_VERSION_UNKNOWN;
|
||||
}
|
||||
|
||||
if(frame_type&QUIC_LONG_HEADER_MASK)
|
||||
{
|
||||
quic_version=identify_quic_version(payload, payload_len, payload_offset);
|
||||
|
||||
Reference in New Issue
Block a user