diff options
author | Jun Zhao <jun.zhao@intel.com> | 2017-03-03 09:25:53 +0800 |
---|---|---|
committer | Mark Thompson <sw@jkqxz.net> | 2017-03-12 18:12:30 +0000 |
commit | bf238a6a3ca92de686e0e103135c1336f33f685b (patch) | |
tree | 1e660fecad7eda78faeaf596024697c93e68f06a | |
parent | ff17c76e92cd9a9072a8771cad73c96cd620040b (diff) | |
download | ffmpeg-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.c | 12 |
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; |