2019-03-06 4:18 GMT+01:00, Jun Zhao <mypopy...@gmail.com>:
> From: Jun Zhao <barryjz...@tencent.com>
>
> accumulation of 8-bits uint_8 (uint8_t *src) into 32-bits (uint32_t *ii)
> data type, it will have a risk of an integral value becoming larger than
> the 32-bits integer capacity and resulting in an integer overflow. For
> this risk, add a checking with warning message.
>
> Signed-off-by: Jun Zhao <barryjz...@tencent.com>
> ---
>  libavfilter/vf_nlmeans.c |    7 +++++++
>  1 files changed, 7 insertions(+), 0 deletions(-)
>
> diff --git a/libavfilter/vf_nlmeans.c b/libavfilter/vf_nlmeans.c
> index dcb5a03..31c8304 100644
> --- a/libavfilter/vf_nlmeans.c
> +++ b/libavfilter/vf_nlmeans.c
> @@ -236,6 +236,13 @@ static void compute_ssd_integral_image(const
> NLMeansDSPContext *dsp,
>      // adjusted end x position of the safe area after width of the safe
> area gets aligned
>      const int endx_safe = startx_safe + safe_pw;
>
> +    // accumulation of 8-bits uint_8 (uint8_t *src) into 32-bits (uint32_t
> *ii)
> +    // data type, it will have a risk of an integral value becoming larger
> than
> +    // the 32-bits integer capacity and resulting in an integer overflow.
> +    if ((w * h * UINT8_MAX) > UINT32_MAX)

I don't think UINT8_MAX increases readability and I suspect
this should contain "UINT32_MAX / (w*h)" or similar on
one side.

> +        av_log(NULL, AV_LOG_WARNING,
> +               "image (%d x %d) integral value maybe overflow.\n", w ,h);

may overflow?

Carl Eugen
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to