]> git.sesse.net Git - vlc/commitdiff
bluray: fix overlay memleaks
authorRafaël Carré <funman@videolan.org>
Mon, 12 Aug 2013 12:23:56 +0000 (14:23 +0200)
committerRafaël Carré <funman@videolan.org>
Fri, 16 Aug 2013 10:43:13 +0000 (12:43 +0200)
modules/access/bluray.c

index 29621b92c839b2b0e3b291069b088ef1718fc798..5580a3873def483a23f913830d7216ee12a76132 100644 (file)
@@ -639,6 +639,7 @@ static void blurayCleanOverlayStruct(bluray_overlay_t *);
 static void subpictureUpdaterDestroy(subpicture_t *p_subpic)
 {
     blurayCleanOverlayStruct(p_subpic->updater.p_sys->p_overlay);
+    free(p_subpic->updater.p_sys);
 }
 
 /*****************************************************************************
@@ -685,7 +686,7 @@ static void blurayCleanOverlayStruct(bluray_overlay_t *p_overlay)
      * Don't delete it again from here!
      */
     vlc_mutex_destroy(&p_overlay->lock);
-    subpicture_region_Delete(p_overlay->p_regions);
+    subpicture_region_ChainDelete(p_overlay->p_regions);
     free(p_overlay);
 }
 
@@ -697,7 +698,7 @@ static void blurayCloseAllOverlays(demux_t *p_demux)
     if (!p_sys->p_vout)
         return;
 
-    for (int i = 0; i < 0; i++) {
+    for (int i = 0; i < MAX_OVERLAY; i++) {
         if (p_sys->p_overlays[i] != NULL) {
             vout_FlushSubpictureChannel(p_sys->p_vout,
                                         p_sys->p_overlays[i]->p_pic->i_channel);