diff options
author | Anton Khirnov <anton@khirnov.net> | 2013-03-17 16:14:58 +0100 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2013-04-03 09:29:55 +0200 |
commit | 6e3c13a559e9ff300b5ca60e1d503e594d7f055c (patch) | |
tree | a831fa7f366b2b2936b0781096a0d60afc3c2052 /libavfilter/avfiltergraph.c | |
parent | 817dff578f13ce97576c609ab141508b9dc782e9 (diff) | |
download | ffmpeg-6e3c13a559e9ff300b5ca60e1d503e594d7f055c.tar.gz |
avfiltergraph: check for sws opts being non-NULL before using them.
Avoid snprintfing a NULL pointer.
CC: libav-stable@libav.org
Diffstat (limited to 'libavfilter/avfiltergraph.c')
-rw-r--r-- | libavfilter/avfiltergraph.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/libavfilter/avfiltergraph.c b/libavfilter/avfiltergraph.c index 516617e62b..06b6a101de 100644 --- a/libavfilter/avfiltergraph.c +++ b/libavfilter/avfiltergraph.c @@ -23,6 +23,7 @@ #include <string.h> #include "libavutil/avassert.h" +#include "libavutil/avstring.h" #include "libavutil/channel_layout.h" #include "libavutil/common.h" #include "libavutil/log.h" @@ -220,7 +221,11 @@ static int query_formats(AVFilterGraph *graph, AVClass *log_ctx) snprintf(inst_name, sizeof(inst_name), "auto-inserted scaler %d", scaler_count++); - snprintf(scale_args, sizeof(scale_args), "0:0:%s", graph->scale_sws_opts); + av_strlcpy(scale_args, "0:0", sizeof(scale_args)); + if (graph->scale_sws_opts) { + av_strlcat(scale_args, ":", sizeof(scale_args)); + av_strlcat(scale_args, graph->scale_sws_opts, sizeof(scale_args)); + } if ((ret = avfilter_graph_create_filter(&convert, filter, inst_name, scale_args, NULL, graph)) < 0) |