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 | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkg/h264/payloader.go b/pkg/h264/payloader.go index cebaaf7cd..efc89986d 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 { + n := uint32(len(nals)) + if n < 4 { + break + } end := 4 + binary.BigEndian.Uint32(nals) - emit(nals[4:end]) - if int(end) >= len(nals) { + if n < end { break } + emit(nals[4:end]) nals = nals[end:] } }