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 <onemda@gmail.com>
This commit is contained in:
parent
285128eedf
commit
51c7af9d32
@ -376,10 +376,6 @@ static int gif_read_header1(GifState *s)
|
|||||||
return AVERROR_INVALIDDATA;
|
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);
|
v = bytestream2_get_byteu(&s->gb);
|
||||||
s->color_resolution = ((v & 0x70) >> 4) + 1;
|
s->color_resolution = ((v & 0x70) >> 4) + 1;
|
||||||
s->has_global_palette = (v & 0x80);
|
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;
|
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.pict_type = AV_PICTURE_TYPE_I;
|
||||||
s->picture.key_frame = 1;
|
s->picture.key_frame = 1;
|
||||||
s->keyframe_ok = 1;
|
s->keyframe_ok = 1;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user