diff --git a/libavfilter/vf_pp7.c b/libavfilter/vf_pp7.c
index bb590a24653d5218711ffd009356842878d1e98b..ac0c117a2f567267611fe1b4b3eede865c979846 100644
--- a/libavfilter/vf_pp7.c
+++ b/libavfilter/vf_pp7.c
@@ -295,7 +295,7 @@ static int config_input(AVFilterLink *inlink)
     pp7->vsub = desc->log2_chroma_h;
 
     pp7->temp_stride = FFALIGN(inlink->w + 16, 16);
-    pp7->src = av_malloc(pp7->temp_stride * (h + 8) * sizeof(uint8_t));
+    pp7->src = av_malloc_array(pp7->temp_stride,  (h + 8) * sizeof(uint8_t));
 
     if (!pp7->src)
         return AVERROR(ENOMEM);