From 1c23e1ff7e8e7d6febb36f867fdaec4ab8f74cca Mon Sep 17 00:00:00 2001 From: aler9 <46489434+aler9@users.noreply.github.com> Date: Tue, 28 Sep 2021 22:25:22 +0200 Subject: [PATCH] avoid crash in case of invalid H264 SPS (https://github.com/aler9/rtsp-simple-server/issues/590) --- track.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/track.go b/track.go index 291a5424..2e17fa1c 100644 --- a/track.go +++ b/track.go @@ -142,6 +142,10 @@ func (t *Track) ClockRate() (int, error) { // NewTrackH264 initializes an H264 track. func NewTrackH264(payloadType uint8, conf *TrackConfigH264) (*Track, error) { + if len(conf.SPS) < 4 { + return nil, fmt.Errorf("invalid SPS") + } + spropParameterSets := base64.StdEncoding.EncodeToString(conf.SPS) + "," + base64.StdEncoding.EncodeToString(conf.PPS) profileLevelID := strings.ToUpper(hex.EncodeToString(conf.SPS[1:4]))