Add av_frame_free() in the error paths to avoid potential memory leak. Fixes: a5a6ac1a12 ("libavfilter/overlay_qsv: Add QSV overlay vpp filter") Signed-off-by: Jiasheng Jiang <jiashengjiangc...@gmail.com> --- libavfilter/qsvvpp.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/libavfilter/qsvvpp.c b/libavfilter/qsvvpp.c index c3685f126c..5d7fbb7f21 100644 --- a/libavfilter/qsvvpp.c +++ b/libavfilter/qsvvpp.c @@ -494,6 +494,7 @@ static QSVFrame *query_frame(QSVVPPContext *s, AVFilterLink *outlink, const AVFr ret = av_hwframe_get_buffer(l->hw_frames_ctx, out_frame->frame, 0); if (ret < 0) { + av_frame_free(&out_frame->frame); av_log(ctx, AV_LOG_ERROR, "Can't allocate a surface.\n"); return NULL; } @@ -505,13 +506,17 @@ static QSVFrame *query_frame(QSVVPPContext *s, AVFilterLink *outlink, const AVFr out_frame->frame = ff_get_video_buffer(outlink, FFALIGN(outlink->w, 128), FFALIGN(outlink->h, 64)); - if (!out_frame->frame) + if (!out_frame->frame) { + av_frame_free(&out_frame->frame); return NULL; + } ret = map_frame_to_surface(out_frame->frame, &out_frame->surface); - if (ret < 0) + if (ret < 0) { + av_frame_free(&out_frame->frame); return NULL; + } } if (propref) { -- 2.25.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".