Browse code

avformat/smacker: use av_malloc_array() and check for allocation error

Signed-off-by: Paul B Mahol <onemda@gmail.com>

Paul B Mahol authored on 2013/09/17 03:20:08
Showing 1 changed files
... ...
@@ -142,8 +142,13 @@ static int smacker_read_header(AVFormatContext *s)
142 142
         av_log(s, AV_LOG_ERROR, "Too many frames: %i\n", smk->frames);
143 143
         return AVERROR_INVALIDDATA;
144 144
     }
145
-    smk->frm_size = av_malloc(smk->frames * 4);
145
+    smk->frm_size = av_malloc_array(smk->frames, sizeof(*smk->frm_size));
146 146
     smk->frm_flags = av_malloc(smk->frames);
147
+    if (!smk->frm_size || !smk->frm_flags) {
148
+        av_freep(&smk->frm_size);
149
+        av_freep(&smk->frm_flags);
150
+        return AVERROR(ENOMEM);
151
+    }
147 152
 
148 153
     smk->is_ver4 = (smk->magic != MKTAG('S', 'M', 'K', '2'));
149 154