diff --git a/libavfilter/vf_vidstabtransform.c b/libavfilter/vf_vidstabtransform.c index 012521b9c0..96ff0cdc3d 100644 --- a/libavfilter/vf_vidstabtransform.c +++ b/libavfilter/vf_vidstabtransform.c @@ -204,11 +204,13 @@ static int config_input(AVFilterLink *inlink) // calculate the actual transforms from the local motions if (vsLocalmotions2Transforms(td, &mlms, &tc->trans) != VS_OK) { av_log(ctx, AV_LOG_ERROR, "calculating transformations failed\n"); + fclose(f); return AVERROR(EINVAL); } } else { // try to read old format if (!vsReadOldTransforms(td, f, &tc->trans)) { /* read input file */ av_log(ctx, AV_LOG_ERROR, "error parsing input file %s\n", tc->input); + fclose(f); return AVERROR(EINVAL); } }