mpegvideo: set AVFrame fields to NULL after freeing the base memory
Prevents dangling pointers and makes access after free more obvious. Setting AVFrame.qscale_table to NULL is required for successfully allocating a previously freed Picture with ff_alloc_picture().
This commit is contained in:
parent
a224b2cb30
commit
59383d5740
@ -393,13 +393,16 @@ static void free_picture(MpegEncContext *s, Picture *pic)
|
||||
av_freep(&pic->mb_mean);
|
||||
av_freep(&pic->f.mbskip_table);
|
||||
av_freep(&pic->qscale_table_base);
|
||||
pic->f.qscale_table = NULL;
|
||||
av_freep(&pic->mb_type_base);
|
||||
pic->f.mb_type = NULL;
|
||||
av_freep(&pic->f.dct_coeff);
|
||||
av_freep(&pic->f.pan_scan);
|
||||
pic->f.mb_type = NULL;
|
||||
for (i = 0; i < 2; i++) {
|
||||
av_freep(&pic->motion_val_base[i]);
|
||||
av_freep(&pic->f.ref_index[i]);
|
||||
pic->f.motion_val[i] = NULL;
|
||||
}
|
||||
|
||||
if (pic->f.type == FF_BUFFER_TYPE_SHARED) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user