]> git.sesse.net Git - vlc/blobdiff - modules/video_filter/rss.c
Fix potential memleak.
[vlc] / modules / video_filter / rss.c
index 6f4615adbd55d02e1c5b2fe58aa226d3c77f22fc..70bbdf1ee3f5009fe39c9c628c70f30a5f0f7908 100644 (file)
@@ -266,6 +266,7 @@ static int CreateFilter( vlc_object_t *p_this )
     {
         vlc_mutex_unlock( &p_sys->lock );
         vlc_mutex_destroy( &p_sys->lock );
+        free( p_sys->psz_urls );
         free( p_sys );
         return VLC_ENOMEM;
     }
@@ -277,6 +278,7 @@ static int CreateFilter( vlc_object_t *p_this )
         free( p_sys->psz_marquee );
         vlc_mutex_unlock( &p_sys->lock );
         vlc_mutex_destroy( &p_sys->lock );
+        free( p_sys->psz_urls );
         free( p_sys );
         return VLC_ENOMEM;
     }
@@ -301,6 +303,7 @@ static int CreateFilter( vlc_object_t *p_this )
         free( p_sys->psz_marquee );
         vlc_mutex_unlock( &p_sys->lock );
         vlc_mutex_destroy( &p_sys->lock );
+        free( p_sys->psz_urls );
         free( p_sys );
         return VLC_EGENERIC;
     }
@@ -312,6 +315,7 @@ static int CreateFilter( vlc_object_t *p_this )
         free( p_sys->psz_marquee );
         vlc_mutex_unlock( &p_sys->lock );
         vlc_mutex_destroy( &p_sys->lock );
+        free( p_sys->psz_urls );
         free( p_sys );
         return VLC_EGENERIC;
     }
@@ -324,6 +328,7 @@ static int CreateFilter( vlc_object_t *p_this )
             FreeRSS( p_filter );
             vlc_mutex_unlock( &p_sys->lock );
             vlc_mutex_destroy( &p_sys->lock );
+            free( p_sys->psz_urls );
             free( p_sys );
             return VLC_EGENERIC;
         }
@@ -429,7 +434,7 @@ static subpicture_t *Filter( filter_t *p_filter, mtime_t date )
         }
     }
 
-    p_spu = p_filter->pf_sub_buffer_new( p_filter );
+    p_spu = filter_NewSubpicture( p_filter );
     if( !p_spu )
     {
         vlc_mutex_unlock( &p_sys->lock );