break;
p = NULL;
- av_sscanf(arg, "%f", &s->weights[i]);
+ if (av_sscanf(arg, "%f", &s->weights[i]) != 1) {
+ av_log(ctx, AV_LOG_ERROR, "Invalid syntax for weights[%d].\n", i);
+ return AVERROR(EINVAL);
+ }
s->wfactor += s->weights[i];
last = i;
}
for (i = 0; i < ctx->nb_inputs; i++)
av_freep(&ctx->input_pads[i].name);
} else {
- for (i = 0; i < s->nb_frames; i++)
+ for (i = 0; i < s->nb_frames && s->frames; i++)
av_frame_free(&s->frames[i]);
}
av_freep(&s->frames);