From 51c7af9d32376df4522bc948e45fea5ef75af31c Mon Sep 17 00:00:00 2001 From: Paul B Mahol Date: Fri, 25 Jan 2013 12:46:57 +0000 Subject: [PATCH] lavc/gifdec: move idx_line allocation out of gif_read_header1() Now allocation is done only if av_image_check_size() passes. Signed-off-by: Paul B Mahol --- libavcodec/gifdec.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libavcodec/gifdec.c b/libavcodec/gifdec.c index 90aaa46e85..b43dd6e141 100644 --- a/libavcodec/gifdec.c +++ b/libavcodec/gifdec.c @@ -376,10 +376,6 @@ static int gif_read_header1(GifState *s) return AVERROR_INVALIDDATA; } - av_fast_malloc(&s->idx_line, &s->idx_line_size, s->screen_width); - if (!s->idx_line) - return AVERROR(ENOMEM); - v = bytestream2_get_byteu(&s->gb); s->color_resolution = ((v & 0x70) >> 4) + 1; s->has_global_palette = (v & 0x80); @@ -486,6 +482,10 @@ static int gif_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, A return ret; } + av_fast_malloc(&s->idx_line, &s->idx_line_size, s->screen_width); + if (!s->idx_line) + return AVERROR(ENOMEM); + s->picture.pict_type = AV_PICTURE_TYPE_I; s->picture.key_frame = 1; s->keyframe_ok = 1;