truemotion2: check return value of av_malloc(z)
authorPaul B Mahol <onemda@gmail.com>
Wed, 28 Aug 2013 16:48:15 +0000 (16:48 +0000)
committerPaul B Mahol <onemda@gmail.com>
Thu, 29 Aug 2013 10:46:42 +0000 (10:46 +0000)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
libavcodec/truemotion2.c

index 6c119ac..e083171 100644 (file)
@@ -173,6 +173,11 @@ static int tm2_build_huff_table(TM2Context *ctx, TM2Codes *code)
     huff.bits    = av_mallocz(huff.max_num * sizeof(uint32_t));
     huff.lens    = av_mallocz(huff.max_num * sizeof(int));
 
+    if (!huff.nums || !huff.bits || !huff.lens) {
+        res = AVERROR(ENOMEM);
+        goto fail;
+    }
+
     res = tm2_read_tree(ctx, 0, 0, &huff);
 
     if (huff.num != huff.max_num) {
@@ -194,10 +199,15 @@ static int tm2_build_huff_table(TM2Context *ctx, TM2Codes *code)
             code->bits = huff.max_bits;
             code->length = huff.max_num;
             code->recode = av_malloc(code->length * sizeof(int));
+            if (!code->recode) {
+                res = AVERROR(ENOMEM);
+                goto fail;
+            }
             for (i = 0; i < code->length; i++)
                 code->recode[i] = huff.nums[i];
         }
     }
+fail:
     /* free allocated memory */
     av_free(huff.nums);
     av_free(huff.bits);