From d951eea6fd7d62acff70640db002997db01315fb Mon Sep 17 00:00:00 2001 From: Haihao Xiang Date: Fri, 24 Jul 2020 15:29:03 +0800 Subject: [PATCH] hwcontext_vaapi: avoid fd leak in vaapi_device_derive --- libavutil/hwcontext_vaapi.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c index b31cf95850..c1893f239d 100644 --- a/libavutil/hwcontext_vaapi.c +++ b/libavutil/hwcontext_vaapi.c @@ -1678,8 +1678,13 @@ static int vaapi_device_derive(AVHWDeviceContext *ctx, #endif priv = av_mallocz(sizeof(*priv)); - if (!priv) + if (!priv) { + if (fd != src_hwctx->fd) { + // The fd was opened in this function. + close(fd); + } return AVERROR(ENOMEM); + } if (fd == src_hwctx->fd) { // The fd is inherited from the source context and we are holding