From 4c3de3bbf426a4e975f1dc7204feb8afdf6d3ff5 Mon Sep 17 00:00:00 2001 From: Alex X Date: Sun, 5 May 2024 07:01:21 +0300 Subject: [PATCH] Fix panic on h264.EmitNalus #1076 --- pkg/h264/payloader.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pkg/h264/payloader.go b/pkg/h264/payloader.go index cebaaf7c..efc89986 100644 --- a/pkg/h264/payloader.go +++ b/pkg/h264/payloader.go @@ -67,11 +67,15 @@ func EmitNalus(nals []byte, isAVC bool, emit func([]byte)) { } } else { for { - end := 4 + binary.BigEndian.Uint32(nals) - emit(nals[4:end]) - if int(end) >= len(nals) { + n := uint32(len(nals)) + if n < 4 { break } + end := 4 + binary.BigEndian.Uint32(nals) + if n < end { + break + } + emit(nals[4:end]) nals = nals[end:] } }