avfiltergraph: check for sws opts being non-NULL before using them.
Avoid snprintfing a NULL pointer. CC: libav-stable@libav.org (cherry picked from commit 6e3c13a559e9ff300b5ca60e1d503e594d7f055c) Signed-off-by: Reinhard Tartler <siretart@tauware.de>
This commit is contained in:
parent
a563e4af9f
commit
2eaf8698a3
@ -23,6 +23,7 @@
|
||||
#include <ctype.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "libavutil/avstring.h"
|
||||
#include "avfilter.h"
|
||||
#include "avfiltergraph.h"
|
||||
#include "internal.h"
|
||||
@ -163,7 +164,11 @@ static int query_formats(AVFilterGraph *graph, AVClass *log_ctx)
|
||||
/* couldn't merge format lists. auto-insert scale filter */
|
||||
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(&scale, avfilter_get_by_name("scale"),
|
||||
inst_name, scale_args, NULL, graph)) < 0)
|
||||
return ret;
|
||||
|
@ -121,7 +121,8 @@ static int create_filter(AVFilterContext **filt_ctx, AVFilterGraph *ctx, int ind
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (!strcmp(filt_name, "scale") && args && !strstr(args, "flags")) {
|
||||
if (!strcmp(filt_name, "scale") && args && !strstr(args, "flags") &&
|
||||
ctx->scale_sws_opts) {
|
||||
snprintf(tmp_args, sizeof(tmp_args), "%s:%s",
|
||||
args, ctx->scale_sws_opts);
|
||||
args = tmp_args;
|
||||
|
Loading…
x
Reference in New Issue
Block a user