mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-02-04 06:08:26 +02:00
avfilter/af_afffilt: fix crash on error
This commit is contained in:
parent
283e755734
commit
2174a315b4
@ -176,13 +176,13 @@ static int config_input(AVFilterLink *inlink)
|
|||||||
ret = av_expr_parse(&s->real[ch], arg ? arg : last_expr, var_names,
|
ret = av_expr_parse(&s->real[ch], arg ? arg : last_expr, var_names,
|
||||||
NULL, NULL, func2_names, func2, 0, ctx);
|
NULL, NULL, func2_names, func2, 0, ctx);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
break;
|
goto fail;
|
||||||
if (arg)
|
if (arg)
|
||||||
last_expr = arg;
|
last_expr = arg;
|
||||||
s->nb_exprs++;
|
s->nb_exprs++;
|
||||||
}
|
}
|
||||||
|
|
||||||
av_free(args);
|
av_freep(&args);
|
||||||
|
|
||||||
args = av_strdup(s->img_str ? s->img_str : s->real_str);
|
args = av_strdup(s->img_str ? s->img_str : s->real_str);
|
||||||
if (!args)
|
if (!args)
|
||||||
@ -196,12 +196,12 @@ static int config_input(AVFilterLink *inlink)
|
|||||||
ret = av_expr_parse(&s->imag[ch], arg ? arg : last_expr, var_names,
|
ret = av_expr_parse(&s->imag[ch], arg ? arg : last_expr, var_names,
|
||||||
NULL, NULL, func2_names, func2, 0, ctx);
|
NULL, NULL, func2_names, func2, 0, ctx);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
break;
|
goto fail;
|
||||||
if (arg)
|
if (arg)
|
||||||
last_expr = arg;
|
last_expr = arg;
|
||||||
}
|
}
|
||||||
|
|
||||||
av_free(args);
|
av_freep(&args);
|
||||||
|
|
||||||
s->fifo = av_audio_fifo_alloc(inlink->format, inlink->channels, s->window_size);
|
s->fifo = av_audio_fifo_alloc(inlink->format, inlink->channels, s->window_size);
|
||||||
if (!s->fifo)
|
if (!s->fifo)
|
||||||
@ -223,6 +223,9 @@ static int config_input(AVFilterLink *inlink)
|
|||||||
if (!s->buffer)
|
if (!s->buffer)
|
||||||
return AVERROR(ENOMEM);
|
return AVERROR(ENOMEM);
|
||||||
|
|
||||||
|
fail:
|
||||||
|
av_freep(&args);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user