aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJun Zhao <jun.zhao@intel.com>2017-03-03 09:25:53 +0800
committerMark Thompson <sw@jkqxz.net>2017-03-12 18:12:30 +0000
commitbf238a6a3ca92de686e0e103135c1336f33f685b (patch)
tree1e660fecad7eda78faeaf596024697c93e68f06a
parentff17c76e92cd9a9072a8771cad73c96cd620040b (diff)
downloadffmpeg-bf238a6a3ca92de686e0e103135c1336f33f685b.tar.gz
vf_hwupload: Add missing return value check
Add missing return value checks to suppress build warning and remove noop ff_formats_unref() calling. Note: most filters using ff_formats_ref() didn't have a suitable error handling, it's a potential memory leak issue. Signed-off-by: Jun Zhao <jun.zhao@intel.com> Signed-off-by: Mark Thompson <sw@jkqxz.net>
-rw-r--r--libavfilter/vf_hwupload.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/libavfilter/vf_hwupload.c b/libavfilter/vf_hwupload.c
index 08af2dd49f..f54ce9faa7 100644
--- a/libavfilter/vf_hwupload.c
+++ b/libavfilter/vf_hwupload.c
@@ -74,17 +74,15 @@ static int hwupload_query_formats(AVFilterContext *avctx)
if (input_pix_fmts) {
for (i = 0; input_pix_fmts[i] != AV_PIX_FMT_NONE; i++) {
err = ff_add_format(&input_formats, input_pix_fmts[i]);
- if (err < 0) {
- ff_formats_unref(&input_formats);
+ if (err < 0)
goto fail;
- }
}
}
- ff_formats_ref(input_formats, &avctx->inputs[0]->out_formats);
-
- ff_formats_ref(ff_make_format_list(output_pix_fmts),
- &avctx->outputs[0]->in_formats);
+ if ((err = ff_formats_ref(input_formats, &avctx->inputs[0]->out_formats)) < 0 ||
+ (err = ff_formats_ref(ff_make_format_list(output_pix_fmts),
+ &avctx->outputs[0]->in_formats)) < 0)
+ goto fail;
av_hwframe_constraints_free(&constraints);
return 0;