diff --git a/libavfilter/vf_drawtext.c b/libavfilter/vf_drawtext.c index 0b9472508f..bcbe2d9106 100644 --- a/libavfilter/vf_drawtext.c +++ b/libavfilter/vf_drawtext.c @@ -709,7 +709,8 @@ static av_cold void uninit(AVFilterContext *ctx) av_expr_free(s->x_pexpr); av_expr_free(s->y_pexpr); - s->x_pexpr = s->y_pexpr = NULL; + av_expr_free(s->a_pexpr); + s->x_pexpr = s->y_pexpr = s->a_pexpr = NULL; av_freep(&s->positions); s->nb_positions = 0; @@ -752,7 +753,8 @@ static int config_input(AVFilterLink *inlink) av_expr_free(s->x_pexpr); av_expr_free(s->y_pexpr); - s->x_pexpr = s->y_pexpr = NULL; + av_expr_free(s->a_pexpr); + s->x_pexpr = s->y_pexpr = s->a_pexpr = NULL; if ((ret = av_expr_parse(&s->x_pexpr, s->x_expr, var_names, NULL, NULL, fun2_names, fun2, 0, ctx)) < 0 ||