summaryrefslogtreecommitdiff
path: root/libavcodec/utils.c
diff options
context:
space:
mode:
authorLuca Barbato <lu_zero@gentoo.org>2015-04-21 18:17:38 +0200
committerLuca Barbato <lu_zero@gentoo.org>2015-04-22 12:27:13 +0200
commita78f5548d94f23ce23cece41edf0fe9d18926de6 (patch)
tree20c3834d9df934c11060f23a81f10adbd5285efd /libavcodec/utils.c
parentaef0be08756e00f363c524453c948a6e2a348614 (diff)
avcodec: Free the default avoptions on init failure
Diffstat (limited to 'libavcodec/utils.c')
-rw-r--r--libavcodec/utils.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index 7740147bb6..c9ae19b8d8 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -1292,6 +1292,10 @@ free_and_end:
(avctx->codec->caps_internal & FF_CODEC_CAP_INIT_CLEANUP))
avctx->codec->close(avctx);
+ if (avctx->priv_data && avctx->codec && avctx->codec->priv_class)
+ av_opt_free(avctx->priv_data);
+ av_opt_free(avctx);
+
av_dict_free(&tmp);
av_freep(&avctx->priv_data);
if (avctx->internal) {