avfilter/graphparser: Check allocations for success

parse_filter() did not check the return value of av_get_token() for
success; in case name (the name of a filter) was NULL, one got a
segfault in av_strlcpy() (called from create_filter()).

Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
pull/350/head
Andreas Rheinhardt 5 years ago
parent f33faa5b9b
commit 95b8df687c
  1. 7
      libavfilter/graphparser.c

@ -186,9 +186,16 @@ static int parse_filter(AVFilterContext **filt_ctx, const char **buf, AVFilterGr
char *name = av_get_token(buf, "=,;[");
int ret;
if (!name)
return AVERROR(ENOMEM);
if (**buf == '=') {
(*buf)++;
opts = av_get_token(buf, "[],;");
if (!opts) {
av_free(name);
return AVERROR(ENOMEM);
}
}
ret = create_filter(filt_ctx, graph, index, name, opts, log_ctx);

Loading…
Cancel
Save