Browse Source

avfiltergraph: check for sws opts being non-NULL before using them.

Avoid snprintfing a NULL pointer.

CC: libav-stable@libav.org
tags/n2.0
Anton Khirnov 12 years ago
parent
commit
6e3c13a559
2 changed files with 8 additions and 2 deletions
  1. +6
    -1
      libavfilter/avfiltergraph.c
  2. +2
    -1
      libavfilter/graphparser.c

+ 6
- 1
libavfilter/avfiltergraph.c View File

@@ -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)


+ 2
- 1
libavfilter/graphparser.c View File

@@ -122,7 +122,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…
Cancel
Save