mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
avfilter/af_compand: Check av_strtok() for failure
Fixes CID1396256 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
parent
164758a831
commit
88612f8db3
@ -368,6 +368,10 @@ static int config_output(AVFilterLink *outlink)
|
||||
p = s->attacks;
|
||||
for (i = 0, new_nb_items = 0; i < nb_attacks; i++) {
|
||||
char *tstr = av_strtok(p, " |", &saveptr);
|
||||
if (!tstr) {
|
||||
uninit(ctx);
|
||||
return AVERROR(EINVAL);
|
||||
}
|
||||
p = NULL;
|
||||
new_nb_items += sscanf(tstr, "%lf", &s->channels[i].attack) == 1;
|
||||
if (s->channels[i].attack < 0) {
|
||||
@ -380,6 +384,10 @@ static int config_output(AVFilterLink *outlink)
|
||||
p = s->decays;
|
||||
for (i = 0, new_nb_items = 0; i < nb_decays; i++) {
|
||||
char *tstr = av_strtok(p, " |", &saveptr);
|
||||
if (!tstr) {
|
||||
uninit(ctx);
|
||||
return AVERROR(EINVAL);
|
||||
}
|
||||
p = NULL;
|
||||
new_nb_items += sscanf(tstr, "%lf", &s->channels[i].decay) == 1;
|
||||
if (s->channels[i].decay < 0) {
|
||||
@ -407,7 +415,7 @@ static int config_output(AVFilterLink *outlink)
|
||||
for (i = 0, new_nb_items = 0; i < nb_points; i++) {
|
||||
char *tstr = av_strtok(p, " |", &saveptr);
|
||||
p = NULL;
|
||||
if (sscanf(tstr, "%lf/%lf", &S(i).x, &S(i).y) != 2) {
|
||||
if (!tstr || sscanf(tstr, "%lf/%lf", &S(i).x, &S(i).y) != 2) {
|
||||
av_log(ctx, AV_LOG_ERROR,
|
||||
"Invalid and/or missing input/output value.\n");
|
||||
uninit(ctx);
|
||||
|
Loading…
Reference in New Issue
Block a user