mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
avcodec/g2meet: Clear pointers after deallocation
Fixes double free Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
e34a3468f2
commit
80e42387dc
@ -1171,11 +1171,12 @@ static int g2m_init_buffers(G2MContext *c)
|
||||
c->tile_stride = FFALIGN(c->tile_width, 16) * 3;
|
||||
c->epic_buf_stride = FFALIGN(c->tile_width * 4, 16);
|
||||
aligned_height = FFALIGN(c->tile_height, 16);
|
||||
av_free(c->synth_tile);
|
||||
av_free(c->jpeg_tile);
|
||||
av_free(c->kempf_buf);
|
||||
av_free(c->kempf_flags);
|
||||
av_free(c->epic_buf_base);
|
||||
av_freep(&c->synth_tile);
|
||||
av_freep(&c->jpeg_tile);
|
||||
av_freep(&c->kempf_buf);
|
||||
av_freep(&c->kempf_flags);
|
||||
av_freep(&c->epic_buf_base);
|
||||
c->epic_buf = NULL;
|
||||
c->synth_tile = av_mallocz(c->tile_stride * aligned_height);
|
||||
c->jpeg_tile = av_mallocz(c->tile_stride * aligned_height);
|
||||
c->kempf_buf = av_mallocz((c->tile_width + 1) * aligned_height +
|
||||
@ -1604,6 +1605,7 @@ static av_cold int g2m_decode_end(AVCodecContext *avctx)
|
||||
jpg_free_context(&c->jc);
|
||||
|
||||
av_freep(&c->epic_buf_base);
|
||||
c->epic_buf = NULL;
|
||||
av_freep(&c->kempf_buf);
|
||||
av_freep(&c->kempf_flags);
|
||||
av_freep(&c->synth_tile);
|
||||
|
Loading…
Reference in New Issue
Block a user