diff --git a/libavcodec/aic.c b/libavcodec/aic.c
index 3472301f53a6d28016f2f38dbf2539a9b641c3f1..e5e2236ca2b3219c30876fb44c4fe3af493c78c1 100644
--- a/libavcodec/aic.c
+++ b/libavcodec/aic.c
@@ -448,7 +448,7 @@ static av_cold int aic_decode_init(AVCodecContext *avctx)
         }
     }
 
-    ctx->slice_data = av_malloc(ctx->slice_width * AIC_BAND_COEFFS
+    ctx->slice_data = av_malloc_array(ctx->slice_width, AIC_BAND_COEFFS
                                 * sizeof(*ctx->slice_data));
     if (!ctx->slice_data) {
         av_log(avctx, AV_LOG_ERROR, "Error allocating slice buffer\n");