[FFmpeg-devel] [PATCH 4/7] avfilter/graphparser: Check allocations for success
Andreas Rheinhardt
andreas.rheinhardt at gmail.com
Sun Aug 23 12:50:36 EEST 2020
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()).
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
---
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);
--
2.20.1
More information about the ffmpeg-devel
mailing list