lavc/utils: free private options on avcodec_open2 fail
authorLukasz Marek <lukasz.m.luki2@gmail.com>
Sat, 22 Nov 2014 23:55:33 +0000 (00:55 +0100)
committerLukasz Marek <lukasz.m.luki2@gmail.com>
Tue, 25 Nov 2014 22:09:16 +0000 (23:09 +0100)
It protects leaking string/binary/dict options from priv context.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
libavcodec/utils.c

index c06a733..66fe62c 100644 (file)
@@ -1690,6 +1690,8 @@ end:
     return ret;
 free_and_end:
     av_dict_free(&tmp);
+    if (codec->priv_class && codec->priv_data_size)
+        av_opt_free(avctx->priv_data);
     av_freep(&avctx->priv_data);
     if (avctx->internal) {
         av_frame_free(&avctx->internal->to_free);