Message ID | HE1PR0301MB2154D49CDBE542A9F22718F48F519@HE1PR0301MB2154.eurprd03.prod.outlook.com |
---|---|
State | Accepted |
Headers | show |
Series | [FFmpeg-devel] avformat/utils: Fix NPD when allocating AVStreamInternal fails | expand |
Context | Check | Description |
---|---|---|
andriy/x86_make | success | Make finished |
andriy/x86_make_fate | success | Make fate finished |
andriy/PPC64_make | success | Make finished |
andriy/PPC64_make_fate | success | Make fate finished |
On 5/13/2021 5:22 PM, Andreas Rheinhardt wrote: > Regression since b9c5fdf6027010d15ee90a43aa023e45a5189097; > fixes Coverity ID #1484786. > > Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> > --- > Checking for st->internal->parser is btw unnecessary as > av_parser_close(NULL) is safe. > > libavformat/utils.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/libavformat/utils.c b/libavformat/utils.c > index 492e08562e..85546267f5 100644 > --- a/libavformat/utils.c > +++ b/libavformat/utils.c > @@ -4262,13 +4262,12 @@ static void free_stream(AVStream **pst) > av_freep(&st->side_data[i].data); > av_freep(&st->side_data); > > - if (st->internal->parser) > - av_parser_close(st->internal->parser); > - > if (st->attached_pic.data) > av_packet_unref(&st->attached_pic); > > if (st->internal) { > + if (st->internal->parser) > + av_parser_close(st->internal->parser); > avcodec_free_context(&st->internal->avctx); > av_bsf_free(&st->internal->bsfc); > av_freep(&st->internal->priv_pts); LGTM.
On Thu, 13 May 2021, Andreas Rheinhardt wrote: > Regression since b9c5fdf6027010d15ee90a43aa023e45a5189097; > fixes Coverity ID #1484786. > > Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> > --- > Checking for st->internal->parser is btw unnecessary as > av_parser_close(NULL) is safe. I think it is fine if you also remove the if() in this patch then. Thanks, Marton > > libavformat/utils.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/libavformat/utils.c b/libavformat/utils.c > index 492e08562e..85546267f5 100644 > --- a/libavformat/utils.c > +++ b/libavformat/utils.c > @@ -4262,13 +4262,12 @@ static void free_stream(AVStream **pst) > av_freep(&st->side_data[i].data); > av_freep(&st->side_data); > > - if (st->internal->parser) > - av_parser_close(st->internal->parser); > - > if (st->attached_pic.data) > av_packet_unref(&st->attached_pic); > > if (st->internal) { > + if (st->internal->parser) > + av_parser_close(st->internal->parser); > avcodec_free_context(&st->internal->avctx); > av_bsf_free(&st->internal->bsfc); > av_freep(&st->internal->priv_pts); > -- > 2.27.0 > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". >
Marton Balint: > > > On Thu, 13 May 2021, Andreas Rheinhardt wrote: > >> Regression since b9c5fdf6027010d15ee90a43aa023e45a5189097; >> fixes Coverity ID #1484786. >> >> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> >> --- >> Checking for st->internal->parser is btw unnecessary as >> av_parser_close(NULL) is safe. > > I think it is fine if you also remove the if() in this patch then. > Applied with that change. Thanks for review. - Andreas
diff --git a/libavformat/utils.c b/libavformat/utils.c index 492e08562e..85546267f5 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -4262,13 +4262,12 @@ static void free_stream(AVStream **pst) av_freep(&st->side_data[i].data); av_freep(&st->side_data); - if (st->internal->parser) - av_parser_close(st->internal->parser); - if (st->attached_pic.data) av_packet_unref(&st->attached_pic); if (st->internal) { + if (st->internal->parser) + av_parser_close(st->internal->parser); avcodec_free_context(&st->internal->avctx); av_bsf_free(&st->internal->bsfc); av_freep(&st->internal->priv_pts);
Regression since b9c5fdf6027010d15ee90a43aa023e45a5189097; fixes Coverity ID #1484786. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> --- Checking for st->internal->parser is btw unnecessary as av_parser_close(NULL) is safe. libavformat/utils.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)