[vlc-commits] demux: fix leaks

Rémi Denis-Courmont git at videolan.org
Sat Jul 8 15:58:06 CEST 2017


vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Sat Jul  8 16:57:51 2017 +0300| [ed5ef98a0ec21e81435fe1bb43f2817c804613c7] | committer: Rémi Denis-Courmont

demux: fix leaks

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=ed5ef98a0ec21e81435fe1bb43f2817c804613c7
---

 src/input/demux.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/input/demux.c b/src/input/demux.c
index f8cac46438..ea1211c591 100644
--- a/src/input/demux.c
+++ b/src/input/demux.c
@@ -691,9 +691,12 @@ demux_t *demux_FilterChainNew( demux_t *p_demux, const char *psz_chain )
     size_t i = vlc_array_count(&name);
     while(i--)
     {
-        const char *p_name = vlc_array_item_at_index(&name, i);
+        char *p_name = vlc_array_item_at_index(&name, i);
         demux_t *p_next = demux_FilterNew( p_demux, p_name );
-        if(!p_next)
+
+        free( p_name );
+
+        if( p_next == NULL )
             goto error;
 
         p_demux = p_next;
@@ -703,8 +706,6 @@ demux_t *demux_FilterChainNew( demux_t *p_demux, const char *psz_chain )
 
     return p_demux;
  error:
-    i++;    /* last module couldn't be created */
-
     demux_Delete(p_demux);
 
     while(i--)



More information about the vlc-commits mailing list