From 95b8df687cc0182a4ec7666c2bbc2826c9ef0852 Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Sun, 23 Aug 2020 01:51:22 +0200 Subject: [PATCH] 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 Signed-off-by: Andreas Rheinhardt --- libavfilter/graphparser.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libavfilter/graphparser.c b/libavfilter/graphparser.c index e96b20418e..a52916a146 100644 --- a/libavfilter/graphparser.c +++ b/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);