aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2024-07-12 00:28:14 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2024-08-11 13:21:12 +0200
commit43b62b7e0c85c0a1038ac2bc90ae06597e3ef706 (patch)
tree6bd2a2141df929e6b12ca00a4021db2782644ac5
parent191a685010319cb0d248771574c7c61d76e4eb95 (diff)
downloadffmpeg-43b62b7e0c85c0a1038ac2bc90ae06597e3ef706.tar.gz
avfilter/vf_xfade_opencl: Check ff_inlink_consume_frame() for failure
Fixes: CID1458127 Unchecked return value Sponsored-by: Sovereign Tech Fund Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--libavfilter/vf_xfade_opencl.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/libavfilter/vf_xfade_opencl.c b/libavfilter/vf_xfade_opencl.c
index 2368c046b4..8582230924 100644
--- a/libavfilter/vf_xfade_opencl.c
+++ b/libavfilter/vf_xfade_opencl.c
@@ -293,7 +293,9 @@ static int xfade_opencl_activate(AVFilterContext *avctx)
if (ctx->first_pts + ctx->offset_pts > ctx->xf[0]->pts) {
ctx->xf[0] = NULL;
ctx->need_second = 0;
- ff_inlink_consume_frame(avctx->inputs[0], &in);
+ ret = ff_inlink_consume_frame(avctx->inputs[0], &in);
+ if (ret < 0)
+ return ret;
return ff_filter_frame(outlink, in);
}
@@ -302,8 +304,14 @@ static int xfade_opencl_activate(AVFilterContext *avctx)
}
if (ctx->xf[0] && ff_inlink_queued_frames(avctx->inputs[1]) > 0) {
- ff_inlink_consume_frame(avctx->inputs[0], &ctx->xf[0]);
- ff_inlink_consume_frame(avctx->inputs[1], &ctx->xf[1]);
+ ret = ff_inlink_consume_frame(avctx->inputs[0], &ctx->xf[0]);
+ if (ret < 0)
+ return ret;
+ ret = ff_inlink_consume_frame(avctx->inputs[1], &ctx->xf[1]);
+ if (ret < 0) {
+ av_frame_free(&ctx->xf[0]);
+ return ret;
+ }
ctx->last_pts = ctx->xf[1]->pts;
ctx->pts = ctx->xf[0]->pts;