summaryrefslogtreecommitdiff
path: root/libavcodec/flashsv2enc.c
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2020-09-14 16:56:13 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2020-09-19 18:39:58 +0200
commit319dbcf4402978f7a493b81d0f61be7a46ddbeba (patch)
tree92af19c3556e80d0be3339156dd8d637b209e0a9 /libavcodec/flashsv2enc.c
parentd1487659ee584d3b0521a894e9ea0f182edbd676 (diff)
downloadffmpeg-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.c15
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;
}