diff --git a/src/quic_entry.cpp b/src/quic_entry.cpp index 7fbed33..9fee0d1 100644 --- a/src/quic_entry.cpp +++ b/src/quic_entry.cpp @@ -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 ; } diff --git a/src/quic_process.cpp b/src/quic_process.cpp index 711cf15..fe86a46 100644 --- a/src/quic_process.cpp +++ b/src/quic_process.cpp @@ -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);