1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

ff_alloc_picture: free tables in case of dimension mismatches

Fixes memory corruption
In theory this should not be needed but its better to check at
one place than to hope 50 other places set the flags correctly
This commit is contained in:
Michael Niedermayer 2013-03-11 21:29:14 +01:00
parent 9e73f6d1f9
commit ee3c3dd523

View File

@ -411,6 +411,11 @@ int ff_alloc_picture(MpegEncContext *s, Picture *pic, int shared)
{
int i, ret;
if (pic->qscale_table_buf)
if (pic->mbskip_table_buf->size < s->mb_stride * s->mb_height + 2 ||
pic->qscale_table_buf->size < s->mb_stride * (s->mb_height + 1) + 1 + s->mb_stride)
free_picture_tables(pic);
if (shared) {
assert(pic->f.data[0]);
pic->shared = 1;