Message ID | 20200928184413.703410-1-andreas.rheinhardt@gmail.com |
---|---|
State | Accepted |
Commit | c9ceec1f1fdd7d705961c0fb3247567cbdc3deb5 |
Headers | show |
Series | [FFmpeg-devel] avcodec/qsv: Fix leak of options on error | expand |
Context | Check | Description |
---|---|---|
andriy/default | pending | |
andriy/make | success | Make finished |
andriy/make_fate | success | Make fate finished |
Andreas Rheinhardt: > Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> > --- > libavcodec/qsv.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/libavcodec/qsv.c b/libavcodec/qsv.c > index 7816d2f93c..6e3154e1a3 100644 > --- a/libavcodec/qsv.c > +++ b/libavcodec/qsv.c > @@ -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 > Will apply this tomorrow unless there are objections. - Andreas
diff --git a/libavcodec/qsv.c b/libavcodec/qsv.c index 7816d2f93c..6e3154e1a3 100644 --- a/libavcodec/qsv.c +++ b/libavcodec/qsv.c @@ -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
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> --- libavcodec/qsv.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)