diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2015-04-21 14:11:30 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-04-21 14:11:30 +0200 |
commit | 8f9a3817d502a46e1349befac24c7d2311df4e12 (patch) | |
tree | 58d96025326d13d0b557f25e71f318bf84fc4682 | |
parent | a924b83cccf25c03c2f1b68251c0a52621d4e378 (diff) | |
download | ffmpeg-8f9a3817d502a46e1349befac24c7d2311df4e12.tar.gz |
avfilter/vf_qp: fix cleanup on error
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavfilter/vf_qp.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libavfilter/vf_qp.c b/libavfilter/vf_qp.c index 0c805af3c7..e4b6bf0ff8 100644 --- a/libavfilter/vf_qp.c +++ b/libavfilter/vf_qp.c @@ -90,7 +90,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in) AVFilterLink *outlink = ctx->outputs[0]; QPContext *s = ctx->priv; AVBufferRef *out_qp_table_buf; - AVFrame *out; + AVFrame *out = NULL; const int8_t *in_qp_table; int type, stride, ret; @@ -129,7 +129,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in) var_names, var_values, NULL, NULL, NULL, NULL, 0, 0, ctx); if (ret < 0) - return ret; + goto fail; out_qp_table_buf->data[x + s->qstride * y] = lrintf(temp_val); } } else if (in_qp_table) { @@ -148,8 +148,10 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in) } ret = ff_filter_frame(outlink, out); + out = NULL; fail: av_frame_free(&in); + av_frame_free(&out); return ret; } |