Commit de0b0455 authored by Andreas Rheinhardt's avatar Andreas Rheinhardt

avformat/avidec: Fix memleak when allocating DVDemuxContext fails

An AVIStream (intended to be used as private data for an AVStream) would
leak in this scenario.

Also return a more fitting error code instead of AVERROR_INVALIDDATA.
Signed-off-by: 's avatarAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
parent 2084ea8c
......@@ -605,9 +605,12 @@ static int avi_read_header(AVFormatContext *s)
ast = s->streams[0]->priv_data;
st->priv_data = NULL;
ff_free_stream(s, st);
avi->dv_demux = avpriv_dv_init_demux(s);
if (!avi->dv_demux)
goto fail;
avi->dv_demux = avpriv_dv_init_demux(s);
if (!avi->dv_demux) {
av_free(ast);
return AVERROR(ENOMEM);
}
s->streams[0]->priv_data = ast;
avio_skip(pb, 3 * 4);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment