diff --git a/tools/ismindex.c b/tools/ismindex.c
index 4dc3e125e37f78e2de210ff19a7f10d44b7f60e4..759bc0f5a4740675b8817d8ca8338c78abd5e8e8 100644
--- a/tools/ismindex.c
+++ b/tools/ismindex.c
@@ -163,7 +163,7 @@ static int read_tfra(struct Tracks *tracks, int start_index, AVIOContext *f)
     }
     fieldlength = avio_rb32(f);
     track->chunks  = avio_rb32(f);
-    track->offsets = av_mallocz(sizeof(*track->offsets) * track->chunks);
+    track->offsets = av_mallocz_array(track->chunks, sizeof(*track->offsets));
     if (!track->offsets) {
         ret = AVERROR(ENOMEM);
         goto fail;