]> git.sesse.net Git - vlc/commitdiff
Fixed invalid pointer usage after free (vout).
authorLaurent Aimar <fenrir@videolan.org>
Wed, 11 Aug 2010 20:17:35 +0000 (22:17 +0200)
committerLaurent Aimar <fenrir@videolan.org>
Wed, 11 Aug 2010 20:18:52 +0000 (22:18 +0200)
It closes #3999.

src/video_output/video_output.c

index 66080d20bb43fced701dd122dd19cb4c2e1d5be6..04832b24c7ee7b49215daeddb1aeb36ee5d2fb56 100644 (file)
@@ -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);