[FFmpeg-devel] [PATCH] mxfdec: fix NULL pointer dereference in mxf_read_packet_old

Tomas Härdin tjoppen at acc.umu.se
Tue Jun 5 11:25:05 EEST 2018


ons 2018-05-30 klockan 23:26 +0200 skrev Marton Balint:
> 
> On Thu, 17 Nov 2016, Andreas Cadhalpun wrote:
> 
> > Metadata streams have priv_data set to NULL.
> > 
> > > > Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
> > ---
> > libavformat/mxfdec.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c
> > index a1a79ce..2ad0c28 100644
> > --- a/libavformat/mxfdec.c
> > +++ b/libavformat/mxfdec.c
> > @@ -3135,7 +3135,7 @@ static int mxf_read_packet_old(AVFormatContext *s, AVPacket *pkt)
> >                 if (mxf->nb_index_tables >= 1 && mxf->current_edit_unit < t->nb_ptses) {
> >                     pkt->dts = mxf->current_edit_unit + t->first_dts;
> >                     pkt->pts = t->ptses[mxf->current_edit_unit];
> > -                } else if (track->intra_only) {
> > +                } else if (track && track->intra_only) {
> >                     /* intra-only -> PTS = EditUnit.
> >                      * let utils.c figure out DTS since it can be < PTS if low_delay = 0 (Sony IMX30) */
> >                     pkt->pts = mxf->current_edit_unit;
> 
> Was this patch really necessary? Because as far as I see, metadata streams 
> (which have priv_data set to NULL) always have a AVMEDIA_TYPE_DATA 
> st->codecpar->codec_type, and since this code calculates video pts, it 
> never encounters a NULL track.
> 
> So is it OK to revert?

Maybe? It doesn't really hurt, but it also makes it seem like track can be NULL

I really want static analysis on code like this...

/Tomas


More information about the ffmpeg-devel mailing list