diff --git a/common/protocol/quic/sniff.go b/common/protocol/quic/sniff.go index 0c20c3f61..eee3640f9 100644 --- a/common/protocol/quic/sniff.go +++ b/common/protocol/quic/sniff.go @@ -143,7 +143,9 @@ func SniffQUIC(b []byte) (*SniffHeader, error) { if err != nil { return nil, err } - + if len(b) < hdrLen+4+block.BlockSize() { + return nil, errNotQuic + } cache.Clear() mask := cache.Extend(int32(block.BlockSize())) block.Encrypt(mask, b[hdrLen+4:hdrLen+4+len(mask)])