diff --git a/libavfilter/buffersink.c b/libavfilter/buffersink.c
index 345af773ff..525f97bfb0 100644
--- a/libavfilter/buffersink.c
+++ b/libavfilter/buffersink.c
@@ -246,7 +246,7 @@ static av_cold int common_init(AVFilterContext *ctx)
 {
     BufferSinkContext *buf = ctx->priv;
 
-    buf->fifo = av_fifo_alloc(FIFO_INIT_SIZE*sizeof(AVFilterBufferRef *));
+    buf->fifo = av_fifo_alloc_array(FIFO_INIT_SIZE, sizeof(AVFilterBufferRef *));
     if (!buf->fifo) {
         av_log(ctx, AV_LOG_ERROR, "Failed to allocate fifo\n");
         return AVERROR(ENOMEM);