avformat/mov: Do not allocate empty extradata

Fixes Ticket5723

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
pull/228/head
Michael Niedermayer 9 years ago
parent 9264bb7e79
commit 38cc5c298c
  1. 12
      libavformat/mov.c

@ -2345,12 +2345,14 @@ static int mov_read_stsd(MOVContext *c, AVIOContext *pb, MOVAtom atom)
return ret;
/* Restore back the primary extradata. */
av_free(st->codecpar->extradata);
av_freep(&st->codecpar->extradata);
st->codecpar->extradata_size = sc->extradata_size[0];
st->codecpar->extradata = av_mallocz(sc->extradata_size[0] + AV_INPUT_BUFFER_PADDING_SIZE);
if (!st->codecpar->extradata)
return AVERROR(ENOMEM);
memcpy(st->codecpar->extradata, sc->extradata[0], sc->extradata_size[0]);
if (sc->extradata_size[0]) {
st->codecpar->extradata = av_mallocz(sc->extradata_size[0] + AV_INPUT_BUFFER_PADDING_SIZE);
if (!st->codecpar->extradata)
return AVERROR(ENOMEM);
memcpy(st->codecpar->extradata, sc->extradata[0], sc->extradata_size[0]);
}
return 0;
}

Loading…
Cancel
Save