Browse Source

lavfi: always check av_expr_parse_and_eval() return value

CC: libav-stable@libav.org
Bug-Id: CID 703624
tags/n2.6
Vittorio Giovara 10 years ago
parent
commit
63be97ec40
2 changed files with 12 additions and 9 deletions
  1. +8
    -6
      libavfilter/vf_pad.c
  2. +4
    -3
      libavfilter/vf_scale.c

+ 8
- 6
libavfilter/vf_pad.c View File

@@ -158,9 +158,10 @@ static int config_input(AVFilterLink *inlink)
var_values[VAR_VSUB] = 1<<s->vsub; var_values[VAR_VSUB] = 1<<s->vsub;


/* evaluate width and height */ /* evaluate width and height */
av_expr_parse_and_eval(&res, (expr = s->w_expr),
var_names, var_values,
NULL, NULL, NULL, NULL, NULL, 0, ctx);
if ((ret = av_expr_parse_and_eval(&res, (expr = s->w_expr),
var_names, var_values,
NULL, NULL, NULL, NULL, NULL, 0, ctx)) < 0)
goto eval_fail;
s->w = var_values[VAR_OUT_W] = var_values[VAR_OW] = res; s->w = var_values[VAR_OUT_W] = var_values[VAR_OW] = res;
if ((ret = av_expr_parse_and_eval(&res, (expr = s->h_expr), if ((ret = av_expr_parse_and_eval(&res, (expr = s->h_expr),
var_names, var_values, var_names, var_values,
@@ -175,9 +176,10 @@ static int config_input(AVFilterLink *inlink)
s->w = var_values[VAR_OUT_W] = var_values[VAR_OW] = res; s->w = var_values[VAR_OUT_W] = var_values[VAR_OW] = res;


/* evaluate x and y */ /* evaluate x and y */
av_expr_parse_and_eval(&res, (expr = s->x_expr),
var_names, var_values,
NULL, NULL, NULL, NULL, NULL, 0, ctx);
if ((ret = av_expr_parse_and_eval(&res, (expr = s->x_expr),
var_names, var_values,
NULL, NULL, NULL, NULL, NULL, 0, ctx)) < 0)
goto eval_fail;
s->x = var_values[VAR_X] = res; s->x = var_values[VAR_X] = res;
if ((ret = av_expr_parse_and_eval(&res, (expr = s->y_expr), if ((ret = av_expr_parse_and_eval(&res, (expr = s->y_expr),
var_names, var_values, var_names, var_values,


+ 4
- 3
libavfilter/vf_scale.c View File

@@ -177,9 +177,10 @@ static int config_props(AVFilterLink *outlink)
var_values[VAR_VSUB] = 1 << desc->log2_chroma_h; var_values[VAR_VSUB] = 1 << desc->log2_chroma_h;


/* evaluate width and height */ /* evaluate width and height */
av_expr_parse_and_eval(&res, (expr = scale->w_expr),
var_names, var_values,
NULL, NULL, NULL, NULL, NULL, 0, ctx);
if ((ret = av_expr_parse_and_eval(&res, (expr = scale->w_expr),
var_names, var_values,
NULL, NULL, NULL, NULL, NULL, 0, ctx)) < 0)
goto fail;
scale->w = var_values[VAR_OUT_W] = var_values[VAR_OW] = res; scale->w = var_values[VAR_OUT_W] = var_values[VAR_OW] = res;
if ((ret = av_expr_parse_and_eval(&res, (expr = scale->h_expr), if ((ret = av_expr_parse_and_eval(&res, (expr = scale->h_expr),
var_names, var_values, var_names, var_values,


Loading…
Cancel
Save