mirror of
https://github.com/nyanmisaka/ffmpeg-rockchip.git
synced 2026-01-24 02:20:56 +01:00
avcodec/bink: Fix memleak upon init failure
The init function first allocates an AVFrame and then some buffers; if one of the buffers couldn't be allocated, the AVFrame leaks. Solve this by setting the FF_CODEC_CAP_INIT_CLEANUP flag. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
This commit is contained in:
parent
912785572a
commit
4f67288948
1 changed files with 2 additions and 3 deletions
|
|
@ -1381,10 +1381,8 @@ static av_cold int decode_init(AVCodecContext *avctx)
|
|||
ff_hpeldsp_init(&c->hdsp, avctx->flags);
|
||||
ff_binkdsp_init(&c->binkdsp);
|
||||
|
||||
if ((ret = init_bundles(c)) < 0) {
|
||||
free_bundles(c);
|
||||
if ((ret = init_bundles(c)) < 0)
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (c->version == 'b') {
|
||||
if (!binkb_initialised) {
|
||||
|
|
@ -1424,4 +1422,5 @@ AVCodec ff_bink_decoder = {
|
|||
.decode = decode_frame,
|
||||
.flush = flush,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue