Browse Source

fftools/ffmpeg_opt: add error handle if av_asprintf return null

add error handle if av_asprintf return null.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
tags/n4.3
Jun Zhao 5 years ago
parent
commit
ed3c317dea
1 changed files with 6 additions and 0 deletions
  1. +6
    -0
      fftools/ffmpeg_opt.c

+ 6
- 0
fftools/ffmpeg_opt.c View File

@@ -3008,6 +3008,8 @@ static int opt_old2new(void *optctx, const char *opt, const char *arg)
{ {
OptionsContext *o = optctx; OptionsContext *o = optctx;
char *s = av_asprintf("%s:%c", opt + 1, *opt); char *s = av_asprintf("%s:%c", opt + 1, *opt);
if (!s)
return AVERROR(ENOMEM);
int ret = parse_option(o, s, arg, options); int ret = parse_option(o, s, arg, options);
av_free(s); av_free(s);
return ret; return ret;
@@ -3039,6 +3041,8 @@ static int opt_qscale(void *optctx, const char *opt, const char *arg)
return parse_option(o, "q:v", arg, options); return parse_option(o, "q:v", arg, options);
} }
s = av_asprintf("q%s", opt + 6); s = av_asprintf("q%s", opt + 6);
if (!s)
return AVERROR(ENOMEM);
ret = parse_option(o, s, arg, options); ret = parse_option(o, s, arg, options);
av_free(s); av_free(s);
return ret; return ret;
@@ -3084,6 +3088,8 @@ static int opt_timecode(void *optctx, const char *opt, const char *arg)
{ {
OptionsContext *o = optctx; OptionsContext *o = optctx;
char *tcr = av_asprintf("timecode=%s", arg); char *tcr = av_asprintf("timecode=%s", arg);
if (!tcr)
return AVERROR(ENOMEM);
int ret = parse_option(o, "metadata:g", tcr, options); int ret = parse_option(o, "metadata:g", tcr, options);
if (ret >= 0) if (ret >= 0)
ret = av_dict_set(&o->g->codec_opts, "gop_timecode", arg, 0); ret = av_dict_set(&o->g->codec_opts, "gop_timecode", arg, 0);


Loading…
Cancel
Save