From: Timo Rothenpieler Date: Mon, 10 Oct 2016 10:57:29 +0000 (+0200) Subject: avfilter/vf_hwupload_cuda: check ff_formats_ref for errors X-Git-Tag: n3.3~1987 X-Git-Url: http://git.videolan.org/?p=ffmpeg.git;a=commitdiff_plain;h=0faf3c3a25ede9ecfdb1cf68a0f8aef23c25197a avfilter/vf_hwupload_cuda: check ff_formats_ref for errors --- diff --git a/libavfilter/vf_hwupload_cuda.c b/libavfilter/vf_hwupload_cuda.c index dba496fc1e..14688df23f 100644 --- a/libavfilter/vf_hwupload_cuda.c +++ b/libavfilter/vf_hwupload_cuda.c @@ -54,6 +54,8 @@ static av_cold void cudaupload_uninit(AVFilterContext *ctx) static int cudaupload_query_formats(AVFilterContext *ctx) { + int ret; + static const enum AVPixelFormat input_pix_fmts[] = { AV_PIX_FMT_NV12, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_NONE, @@ -64,8 +66,13 @@ static int cudaupload_query_formats(AVFilterContext *ctx) AVFilterFormats *in_fmts = ff_make_format_list(input_pix_fmts); AVFilterFormats *out_fmts = ff_make_format_list(output_pix_fmts); - ff_formats_ref(in_fmts, &ctx->inputs[0]->out_formats); - ff_formats_ref(out_fmts, &ctx->outputs[0]->in_formats); + ret = ff_formats_ref(in_fmts, &ctx->inputs[0]->out_formats); + if (ret < 0) + return ret; + + ret = ff_formats_ref(out_fmts, &ctx->outputs[0]->in_formats); + if (ret < 0) + return ret; return 0; }