[FFmpeg-cvslog] mxf: Use av_malloc_array

Luca Barbato git at videolan.org
Tue Jan 14 22:28:45 CET 2014


ffmpeg | branch: master | Luca Barbato <lu_zero at gentoo.org> | Tue Jan  7 23:54:09 2014 +0100| [1a4e4ad0e0c5486dcab05e54b587672a498dd7cf] | committer: Luca Barbato

mxf: Use av_malloc_array

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1a4e4ad0e0c5486dcab05e54b587672a498dd7cf
---

 libavformat/mxfdec.c |   14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c
index 2734e14..7314dda 100644
--- a/libavformat/mxfdec.c
+++ b/libavformat/mxfdec.c
@@ -1234,9 +1234,9 @@ static int mxf_compute_index_tables(MXFContext *mxf)
         }
     }
 
-    if (mxf->nb_index_tables > INT_MAX / sizeof(MXFIndexTable) ||
-        !(mxf->index_tables = av_mallocz(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;
@@ -1255,10 +1255,10 @@ 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->nb_segments >
-            (INT_MAX / sizeof(MXFIndexTableSegment *)) ||
-            !(t->segments = av_mallocz(t->nb_segments *
-                                       sizeof(MXFIndexTableSegment*)))) {
+        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);



More information about the ffmpeg-cvslog mailing list