[FFmpeg-devel] [PATCH 2/6] lavc/avpacket: check NULL before using the pointer

mypopy at gmail.com mypopy at gmail.com
Mon May 13 04:34:10 EEST 2019


On Sat, May 11, 2019 at 8:23 AM Michael Niedermayer
<michael at niedermayer.cc> wrote:
>
> On Fri, May 10, 2019 at 10:00:54PM +0200, Carl Eugen Hoyos wrote:
> > Am Fr., 10. Mai 2019 um 18:13 Uhr schrieb Jun Zhao <mypopydev at gmail.com>:
> > >
> > > From: Jun Zhao <barryjzhao at tencent.com>
> > >
> > > Need to check NULL before using the pointer
> > >
> > > Signed-off-by: Jun Zhao <barryjzhao at tencent.com>
> > > ---
> > >  libavcodec/avpacket.c |    3 ++-
> > >  1 files changed, 2 insertions(+), 1 deletions(-)
> > >
> > > diff --git a/libavcodec/avpacket.c b/libavcodec/avpacket.c
> > > index 8f0603d..2b20067 100644
> > > --- a/libavcodec/avpacket.c
> > > +++ b/libavcodec/avpacket.c
> > > @@ -522,11 +522,12 @@ fail:
> > >
> > >  int av_packet_unpack_dictionary(const uint8_t *data, int size, AVDictionary **dict)
> > >  {
> > > -    const uint8_t *end = data + size;
> > > +    const uint8_t *end;
> > >      int ret = 0;
> > >
> > >      if (!dict || !data || !size)
> > >          return ret;
> > > +    end = data + size;
> >
> > Could somebody explain to me why this is necessary?
>
> if data is NULL adding a non zero value to it would be undefined behavior
> i think
>
Yes, it's a undefined behavior to adding a non zero value if the
pointer is NULL,
this is the reason to change the code.

Applied, Thanks


More information about the ffmpeg-devel mailing list