diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c index d6eb7d1899..181bc0a412 100644 --- a/libavformat/mxfdec.c +++ b/libavformat/mxfdec.c @@ -1249,7 +1249,9 @@ static int mxf_compute_index_tables(MXFContext *mxf) } } - if (!(mxf->index_tables = av_calloc(mxf->nb_index_tables, sizeof(MXFIndexTable)))) { + mxf->index_tables = av_mallocz_array(mxf->nb_index_tables, + sizeof(*mxf->index_tables)); + if (!mxf->index_tables) { av_log(mxf->fc, AV_LOG_ERROR, "failed to allocate index tables\n"); ret = AVERROR(ENOMEM); goto finish_decoding_index; @@ -1268,8 +1270,12 @@ static int mxf_compute_index_tables(MXFContext *mxf) for (i = j = 0; j < mxf->nb_index_tables; i += mxf->index_tables[j++].nb_segments) { MXFIndexTable *t = &mxf->index_tables[j]; - if (!(t->segments = av_calloc(t->nb_segments, sizeof(MXFIndexTableSegment*)))) { - av_log(mxf->fc, AV_LOG_ERROR, "failed to allocate IndexTableSegment pointer array\n"); + t->segments = av_mallocz_array(t->nb_segments, + sizeof(*t->segments)); + + if (!t->segments) { + av_log(mxf->fc, AV_LOG_ERROR, "failed to allocate IndexTableSegment" + " pointer array\n"); ret = AVERROR(ENOMEM); goto finish_decoding_index; }