[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