[FFmpeg-devel] [PATCH] avfilter/vf_ssim: align temp size

Tobias Rapp t.rapp at noa-archive.com
Wed Aug 2 10:10:38 EEST 2017


On 01.08.2017 17:01, Muhammad Faiz wrote:
> Fix Ticket6519.
>
> Signed-off-by: Muhammad Faiz <mfcc64 at gmail.com>
> ---
>  libavfilter/vf_ssim.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/libavfilter/vf_ssim.c b/libavfilter/vf_ssim.c
> index c3c204268f..dfd276e015 100644
> --- a/libavfilter/vf_ssim.c
> +++ b/libavfilter/vf_ssim.c
> @@ -402,7 +402,7 @@ static int config_input_ref(AVFilterLink *inlink)
>      for (i = 0; i < s->nb_components; i++)
>          s->coefs[i] = (double) s->planeheight[i] * s->planewidth[i] / sum;
>
> -    s->temp = av_malloc_array((2 * inlink->w + 12), sizeof(*s->temp) * (1 + (desc->comp[0].depth > 8)));
> +    s->temp = av_malloc_array(FFALIGN(2 * inlink->w + 12, 64), sizeof(*s->temp) * (1 + (desc->comp[0].depth > 8)));
>      if (!s->temp)
>          return AVERROR(ENOMEM);
>      s->max = (1 << desc->comp[0].depth) - 1;
>

I confirm that the command doesn't crash anymore and the reports of 
"invalid read/write" in Valgrind are gone. However there are still some 
"use of uninitialized value" reports remaining. Maybe use av_mallocz_array?

Regards,
Tobias



More information about the ffmpeg-devel mailing list