[FFmpeg-devel] [PATCH] lavf/formats: more logical testing of inputs and outputs.
Andreas Rheinhardt
andreas.rheinhardt at gmail.com
Sun Aug 23 22:28:57 EEST 2020
Nicolas George:
> ff_set_common_formats() is currently only called after
> graph_check_validity(), guaranteeing that inputs and outputs
> are connected.
> If we want to support configuring partially-connected graphs,
> we will have a lot of redesign to do anyway.
>
> Fix CID 1466262 / 1466263.
>
> Signed-off-by: Nicolas George <george at nsup.org>
> ---
> libavfilter/formats.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/libavfilter/formats.c b/libavfilter/formats.c
> index d2edf832e9..dbf9250cda 100644
> --- a/libavfilter/formats.c
> +++ b/libavfilter/formats.c
> @@ -606,8 +606,8 @@ int ff_set_common_formats(AVFilterContext *ctx, AVFilterFormats *formats)
> int ff_default_query_formats(AVFilterContext *ctx)
> {
> int ret;
> - enum AVMediaType type = ctx->inputs && ctx->inputs [0] ? ctx->inputs [0]->type :
> - ctx->outputs && ctx->outputs[0] ? ctx->outputs[0]->type :
> + enum AVMediaType type = ctx->nb_inputs ? ctx->inputs [0]->type :
> + ctx->nb_outputs ? ctx->outputs[0]->type :
> AVMEDIA_TYPE_VIDEO;
>
> ret = ff_set_common_formats(ctx, ff_all_formats(type));
>
IIRC lavf = libavformat, lavfi = libavfilter. But I might be wrong.
The change itself is ok; I wondered whether I should send a patch for
this, but I dislike patches designed to make an analyzer happy. But
given that it is possible for ctx->inputs to be different from NULL even
if ctx->nb_inputs is zero (namely if ctx->inputs =
av_malloc_array(ctx->nb_inputs, sizeof...) has been used) the new check
is more correct and not only for Coverity.
Notice that these issues are actually not new: They are the same as
1452428 and 1452429 and 242ba4d74cc95aa78528e4496de7cc63816a877b just
made Coverity detect this as new issues.
- Andreas
More information about the ffmpeg-devel
mailing list