diff --git a/demux.go b/demux.go index 2f7a1bb..a80c01a 100644 --- a/demux.go +++ b/demux.go @@ -568,6 +568,11 @@ func (d *Demux) decodePacket(typ int) *Packet { } func (d *Demux) packet() *Packet { + if d.nextPacket.length < 0 { + d.nextPacket.length = 0 + return nil // invalid + } + if !d.buf.has(d.nextPacket.length << 3) { return nil }