diff --git a/transport/internet/kcp/io.go b/transport/internet/kcp/io.go index 5a7431865..f04f6f598 100644 --- a/transport/internet/kcp/io.go +++ b/transport/internet/kcp/io.go @@ -26,6 +26,9 @@ type KCPPacketReader struct { func (r *KCPPacketReader) Read(b []byte) []Segment { if r.Header != nil { + if int32(len(b)) <= r.Header.Size() { + return nil + } b = b[r.Header.Size():] } if r.Security != nil {