On 29/06/16 18:03, Vittorio Giovara wrote: > Avoid freeing an unallocated array in mov_read_close() in case > of a malloc failure. > > Signed-off-by: Vittorio Giovara <[email protected]> > --- > libavformat/mov.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/libavformat/mov.c b/libavformat/mov.c > index fe1f264..0cb3271 100644 > --- a/libavformat/mov.c > +++ b/libavformat/mov.c > @@ -1883,7 +1883,7 @@ static int mov_read_stsd(MOVContext *c, AVIOContext > *pb, MOVAtom atom) > { > AVStream *st; > MOVStreamContext *sc; > - int ret; > + int ret, entries; > > if (c->fc->nb_streams < 1) > return 0; > @@ -1892,13 +1892,14 @@ static int mov_read_stsd(MOVContext *c, AVIOContext > *pb, MOVAtom atom) > > avio_r8(pb); /* version */ > avio_rb24(pb); /* flags */ > - sc->stsd_count = avio_rb32(pb); /* entries */ > + entries = avio_rb32(pb); > > /* Prepare space for hosting multiple extradata. */ > - sc->extradata = av_mallocz_array(sc->stsd_count, sizeof(*sc->extradata)); > + sc->extradata = av_mallocz_array(entries, sizeof(*sc->extradata)); > if (!sc->extradata) > return AVERROR(ENOMEM); > > + sc->stsd_count = entries; > sc->extradata_size = av_mallocz_array(sc->stsd_count, > sizeof(sc->extradata_size)); > if (!sc->extradata_size) > return AVERROR(ENOMEM); >
Should be fine. _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
