mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2024-11-24 12:09:55 +00:00
opus_parser: fix leaking channel_maps on error
Make ff_opus_parse_extradata free allocated memory on error instead of expecting callers to free it in that case. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
This commit is contained in:
parent
df694a5e9d
commit
7d3baebe40
@ -403,6 +403,7 @@ av_cold int ff_opus_parse_extradata(AVCodecContext *avctx,
|
||||
} else if (idx >= streams + stereo_streams) {
|
||||
av_log(avctx, AV_LOG_ERROR,
|
||||
"Invalid channel map for output channel %d: %d\n", i, idx);
|
||||
av_freep(&s->channel_maps);
|
||||
return AVERROR_INVALIDDATA;
|
||||
}
|
||||
|
||||
|
@ -646,7 +646,6 @@ static av_cold int opus_decode_init(AVCodecContext *avctx)
|
||||
/* find out the channel configuration */
|
||||
ret = ff_opus_parse_extradata(avctx, c);
|
||||
if (ret < 0) {
|
||||
av_freep(&c->channel_maps);
|
||||
av_freep(&c->fdsp);
|
||||
return ret;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user