[FFmpeg-cvslog] avfilter/vf_ssim360: Use correct type in sizeof

Andreas Rheinhardt git at videolan.org
Tue Mar 14 08:32:07 EET 2023


ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Sun Mar 12 22:35:20 2023 +0100| [1091963d3898eac8aaf8402dc5a5f9867ba96bd1] | committer: Andreas Rheinhardt

avfilter/vf_ssim360: Use correct type in sizeof

SSIM360Context.ssim360_hist is an array of four pointers to double;
so sizeof(*ssim360_hist[0]) (=sizeof(double)) is the correct size
to use to calculate the amount of memory to allocate, not
sizeof(*ssim360_hist) (which is sizeof(double*)).

Use FF_ALLOCZ_TYPED_ARRAY to avoid this issue altogether.

Fixes Coverity issue #1520671.

Reviewed-by: Anton Khirnov <anton at khirnov.net>
Reviewed-by: Jan Ekström <jeebjp at gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1091963d3898eac8aaf8402dc5a5f9867ba96bd1
---

 libavfilter/vf_ssim360.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavfilter/vf_ssim360.c b/libavfilter/vf_ssim360.c
index 3eb8e43bbc..f8ce0744f2 100644
--- a/libavfilter/vf_ssim360.c
+++ b/libavfilter/vf_ssim360.c
@@ -1624,7 +1624,7 @@ static int config_output(AVFilterLink *outlink)
         memset(s->ssim360_percentile_sum, 0, sizeof(s->ssim360_percentile_sum));
 
         for (int i = 0; i < s->nb_components; i++) {
-            s->ssim360_hist[i] = av_calloc(SSIM360_HIST_SIZE, sizeof(*s->ssim360_hist));
+            FF_ALLOCZ_TYPED_ARRAY(s->ssim360_hist[i], SSIM360_HIST_SIZE);
             if (!s->ssim360_hist[i])
                 return AVERROR(ENOMEM);
         }



More information about the ffmpeg-cvslog mailing list