Browse Source

truemotion2: check return value of av_malloc(z)

Signed-off-by: Paul B Mahol <onemda@gmail.com>
tags/n2.1
Paul B Mahol 12 years ago
parent
commit
d49f2603be
1 changed files with 10 additions and 0 deletions
  1. +10
    -0
      libavcodec/truemotion2.c

+ 10
- 0
libavcodec/truemotion2.c View 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);


Loading…
Cancel
Save