diff options
author | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2020-09-14 16:56:13 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2020-09-19 18:39:58 +0200 |
commit | 319dbcf4402978f7a493b81d0f61be7a46ddbeba (patch) | |
tree | 92af19c3556e80d0be3339156dd8d637b209e0a9 /libavcodec/flashsv2enc.c | |
parent | d1487659ee584d3b0521a894e9ea0f182edbd676 (diff) | |
download | ffmpeg-319dbcf4402978f7a493b81d0f61be7a46ddbeba.tar.gz |
avcodec/flashsv2enc: Check allocations for success before usage
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Diffstat (limited to 'libavcodec/flashsv2enc.c')
-rw-r--r-- | libavcodec/flashsv2enc.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/libavcodec/flashsv2enc.c b/libavcodec/flashsv2enc.c index 65db112696..e2a603f312 100644 --- a/libavcodec/flashsv2enc.c +++ b/libavcodec/flashsv2enc.c @@ -231,6 +231,13 @@ static av_cold int flashsv2_encode_init(AVCodecContext * avctx) s->key_frame = av_mallocz(s->frame_size); s->frame_blocks = av_mallocz(s->blocks_size); s->key_blocks = av_mallocz(s->blocks_size); + if (!s->encbuffer || !s->keybuffer || !s->databuffer + || !s->current_frame || !s->key_frame || !s->key_blocks + || !s->frame_blocks) { + av_log(avctx, AV_LOG_ERROR, "Memory allocation failed.\n"); + cleanup(s); + return AVERROR(ENOMEM); + } s->blockbuffer = NULL; s->blockbuffer_size = 0; @@ -245,14 +252,6 @@ static av_cold int flashsv2_encode_init(AVCodecContext * avctx) s->use_custom_palette = 0; s->palette_type = -1; // so that the palette will be generated in reconfigure_at_keyframe - if (!s->encbuffer || !s->keybuffer || !s->databuffer - || !s->current_frame || !s->key_frame || !s->key_blocks - || !s->frame_blocks) { - av_log(avctx, AV_LOG_ERROR, "Memory allocation failed.\n"); - cleanup(s); - return -1; - } - return 0; } |