From: Laurent Aimar Date: Wed, 11 Aug 2010 20:17:35 +0000 (+0200) Subject: Fixed invalid pointer usage after free (vout). X-Git-Tag: 1.2.0-pre1~5454 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=d74696079d2ee470660f2c1794481d3a4e50fb92;p=vlc Fixed invalid pointer usage after free (vout). It closes #3999. --- diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c index 66080d20bb..04832b24c7 100644 --- a/src/video_output/video_output.c +++ b/src/video_output/video_output.c @@ -1048,9 +1048,6 @@ static int ThreadStart(vout_thread_t *vout, const vout_display_state_t *state) static void ThreadStop(vout_thread_t *vout, vout_display_state_t *state) { - /* Destroy the video filters2 */ - filter_chain_Delete(vout->p->filter.chain); - /* Destroy translation tables */ if (vout->p->display.vd) { if (vout->p->decoder_pool) { @@ -1060,6 +1057,9 @@ static void ThreadStop(vout_thread_t *vout, vout_display_state_t *state) vout_CloseWrapper(vout, state); } + /* Destroy the video filters2 */ + filter_chain_Delete(vout->p->filter.chain); + if (vout->p->decoder_fifo) picture_fifo_Delete(vout->p->decoder_fifo); assert(!vout->p->decoder_pool);