Commit 4b54d5a7 authored by Nikolas Bowe's avatar Nikolas Bowe Committed by Michael Niedermayer

avformat/mov: Fix memory leak when reading DDTS box.

Signed-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
parent 0ac8fce2
...@@ -889,6 +889,7 @@ static int mov_read_ddts(MOVContext *c, AVIOContext *pb, MOVAtom atom) ...@@ -889,6 +889,7 @@ static int mov_read_ddts(MOVContext *c, AVIOContext *pb, MOVAtom atom)
init_get_bits(&gb, buf, 8*ddts_size); init_get_bits(&gb, buf, 8*ddts_size);
if (c->fc->nb_streams < 1) { if (c->fc->nb_streams < 1) {
av_free(buf);
return 0; return 0;
} }
st = c->fc->streams[c->fc->nb_streams-1]; st = c->fc->streams[c->fc->nb_streams-1];
...@@ -896,6 +897,7 @@ static int mov_read_ddts(MOVContext *c, AVIOContext *pb, MOVAtom atom) ...@@ -896,6 +897,7 @@ static int mov_read_ddts(MOVContext *c, AVIOContext *pb, MOVAtom atom)
st->codecpar->sample_rate = get_bits_long(&gb, 32); st->codecpar->sample_rate = get_bits_long(&gb, 32);
if (st->codecpar->sample_rate <= 0) { if (st->codecpar->sample_rate <= 0) {
av_log(c->fc, AV_LOG_ERROR, "Invalid sample rate %d\n", st->codecpar->sample_rate); av_log(c->fc, AV_LOG_ERROR, "Invalid sample rate %d\n", st->codecpar->sample_rate);
av_free(buf);
return AVERROR_INVALIDDATA; return AVERROR_INVALIDDATA;
} }
skip_bits_long(&gb, 32); /* max bitrate */ skip_bits_long(&gb, 32); /* max bitrate */
...@@ -923,6 +925,7 @@ static int mov_read_ddts(MOVContext *c, AVIOContext *pb, MOVAtom atom) ...@@ -923,6 +925,7 @@ static int mov_read_ddts(MOVContext *c, AVIOContext *pb, MOVAtom atom)
((channel_layout_code & 0x8) ? AV_CH_LOW_FREQUENCY : 0); ((channel_layout_code & 0x8) ? AV_CH_LOW_FREQUENCY : 0);
st->codecpar->channels = av_get_channel_layout_nb_channels(st->codecpar->channel_layout); st->codecpar->channels = av_get_channel_layout_nb_channels(st->codecpar->channel_layout);
av_free(buf);
return 0; return 0;
} }
......
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