On Tue, Jun 13, 2023 at 3:37 PM Zhao Zhili <quinkbl...@foxmail.com> wrote:
> From: Zhao Zhili <zhiliz...@tencent.com> > > The code after the check skip 21 bytes and then read two bytes. > > Signed-off-by: Zhao Zhili <zhiliz...@tencent.com> > --- > libavcodec/hevc_parse.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/libavcodec/hevc_parse.c b/libavcodec/hevc_parse.c > index 1f3beed183..7bc28fd081 100644 > --- a/libavcodec/hevc_parse.c > +++ b/libavcodec/hevc_parse.c > @@ -88,8 +88,10 @@ int ff_hevc_decode_extradata(const uint8_t *data, int > size, HEVCParamSets *ps, > > /* data[0] == 1 is configurationVersion from 14496-15. > * data[0] == 0 is for backward compatibility predates the standard. > + * > + * Minimum number of bytes of hvcC with 0 numOfArrays is 23. > */ > - if (size > 3 && ((data[0] == 1) || (data[0] == 0 && (data[1] || > data[2] > 1)))) { > + if (size >= 23 && ((data[0] == 1) || (data[0] == 0 && (data[1] || > data[2] > 1)))) { > I think it's better to move the size checking before 21 byte are skipped, or it'll go to the else logic which is different. /* It seems the extradata is encoded as hvcC format. */ > int i, j, num_arrays, nal_len_size; > > -- > 2.25.1 > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".