input: Fix a memleak.
authorRémi Duraffort <ivoire@videolan.org>
Thu, 14 May 2009 17:27:30 +0000 (19:27 +0200)
committerRémi Duraffort <ivoire@videolan.org>
Thu, 14 May 2009 20:19:46 +0000 (22:19 +0200)
src/input/input.c

index 396994b..aeeebe8 100644 (file)
@@ -1107,13 +1107,11 @@ static void InitPrograms( input_thread_t * p_input )
     /* Set up es_out */
     es_out_Control( p_input->p->p_es_out, ES_OUT_SET_ACTIVE, true );
     i_es_out_mode = ES_OUT_MODE_AUTO;
-    val.p_list = NULL;
     if( p_input->p->p_sout )
     {
         if( var_GetBool( p_input, "sout-all" ) )
         {
             i_es_out_mode = ES_OUT_MODE_ALL;
-            val.p_list = NULL;
         }
         else
         {
@@ -1125,8 +1123,7 @@ static void InitPrograms( input_thread_t * p_input )
             }
             else
             {
-                var_Change( p_input, "programs", VLC_VAR_FREELIST, &val,
-                            NULL );
+                var_Change( p_input, "programs", VLC_VAR_FREELIST, &val, NULL );
             }
         }
     }
@@ -1141,6 +1138,7 @@ static void InitPrograms( input_thread_t * p_input )
     {
         demux_Control( p_input->p->input.p_demux, DEMUX_SET_GROUP, -1,
                         val.p_list );
+        var_Change( p_input, "programs", VLC_VAR_FREELIST, &val, NULL );
     }
     else
     {