diff --git a/libavcodec/dirac.c b/libavcodec/dirac.c index 39df2a8847..527f015e11 100644 --- a/libavcodec/dirac.c +++ b/libavcodec/dirac.c @@ -349,8 +349,10 @@ int av_dirac_parse_sequence_header(AVDiracSeqHeader **pdsh, else if (dsh->version.major > 2 && log_ctx) av_log(log_ctx, AV_LOG_WARNING, "Stream may have unhandled features\n"); - if (video_format > 20U) - return AVERROR_INVALIDDATA; + if (video_format > 20U) { + ret = AVERROR_INVALIDDATA; + goto fail; + } /* Fill in defaults for the source parameters. */ dsh->width = dirac_source_parameters_defaults[video_format].width;