diff options
author | Vittorio Giovara <vittorio.giovara@gmail.com> | 2015-05-31 14:55:27 +0200 |
---|---|---|
committer | Luca Barbato <lu_zero@gentoo.org> | 2015-05-31 15:03:31 +0200 |
commit | e1ea365f7e1477c78865b866a180712174536c20 (patch) | |
tree | e10700f1a56053d43a13df2f46fde4cdf832434c | |
parent | 28fb80dcbf6f63eedfcfffc725a6bf0069d03fab (diff) | |
download | ffmpeg-e1ea365f7e1477c78865b866a180712174536c20.tar.gz |
truemotion2: Check memory allocation
-rw-r--r-- | libavcodec/truemotion2.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libavcodec/truemotion2.c b/libavcodec/truemotion2.c index 122643db0e..094096e4e1 100644 --- a/libavcodec/truemotion2.c +++ b/libavcodec/truemotion2.c @@ -171,6 +171,10 @@ static int tm2_build_huff_table(TM2Context *ctx, TM2Codes *code) huff.nums = av_mallocz(huff.max_num * sizeof(int)); 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 out; + } res = tm2_read_tree(ctx, 0, 0, &huff); @@ -193,10 +197,16 @@ 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 out; + } for (i = 0; i < code->length; i++) code->recode[i] = huff.nums[i]; } } + +out: /* free allocated memory */ av_free(huff.nums); av_free(huff.bits); |