summaryrefslogtreecommitdiff
path: root/libavfilter
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2015-04-21 14:11:30 +0200
committerMichael Niedermayer <michaelni@gmx.at>2015-04-21 14:11:30 +0200
commit8f9a3817d502a46e1349befac24c7d2311df4e12 (patch)
tree58d96025326d13d0b557f25e71f318bf84fc4682 /libavfilter
parenta924b83cccf25c03c2f1b68251c0a52621d4e378 (diff)
avfilter/vf_qp: fix cleanup on error
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavfilter')
-rw-r--r--libavfilter/vf_qp.c6
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;
}