Browse Source

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
tags/n2.0
Michael Niedermayer 13 years ago
parent
commit
ee3c3dd523
1 changed files with 5 additions and 0 deletions
  1. +5
    -0
      libavcodec/mpegvideo.c

+ 5
- 0
libavcodec/mpegvideo.c 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;


Loading…
Cancel
Save