]> git.sesse.net Git - ffmpeg/commitdiff
avcodec/qsv: Fix leak of options on error
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Sun, 27 Sep 2020 08:06:27 +0000 (10:06 +0200)
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Sun, 4 Oct 2020 22:48:47 +0000 (00:48 +0200)
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
libavcodec/qsv.c

index 7816d2f93c2f9e79940bec7a82239ddae906981f..6e3154e1a39f573aaf58c6e047e115e0f05e4a9d 100644 (file)
@@ -361,6 +361,7 @@ static int ff_qsv_set_display_handle(AVCodecContext *avctx, QSVSession *qs)
     av_dict_set(&child_device_opts, "driver",        "iHD",  0);
 
     ret = av_hwdevice_ctx_create(&qs->va_device_ref, AV_HWDEVICE_TYPE_VAAPI, NULL, child_device_opts, 0);
+    av_dict_free(&child_device_opts);
     if (ret < 0) {
         av_log(avctx, AV_LOG_ERROR, "Failed to create a VAAPI device.\n");
         return ret;
@@ -375,8 +376,6 @@ static int ff_qsv_set_display_handle(AVCodecContext *avctx, QSVSession *qs)
         }
     }
 
-    av_dict_free(&child_device_opts);
-
     return 0;
 }
 #endif //AVCODEC_QSV_LINUX_SESSION_HANDLE