]> git.sesse.net Git - vlc/blobdiff - modules/video_filter/rss.c
rss: fix a memleak (double strdup) and ad a missing const.
[vlc] / modules / video_filter / rss.c
index 244c871cf0110f2fb5c9d2c9a682dbd5e8e69b36..c663dd5ebe1411c25659067ff62d5c2f092e452c 100644 (file)
@@ -46,7 +46,7 @@
 #include <vlc_xml.h>
 #include <vlc_charset.h>
 
-#include "vlc_image.h"
+#include <vlc_image.h>
 
 #include <time.h>
 
@@ -630,12 +630,12 @@ static picture_t *LoadImage( filter_t *p_filter, const char *psz_url )
  * remove all ' ' '\t' '\n' '\r' characters from the begining and end of the
  * string.
  ***************************************************************************/
-static char *removeWhiteChars( char *psz_src )
+static char *removeWhiteChars( const char *psz_src )
 {
-    char *psz_src2 = strdup( psz_src );
-    char *psz_clean = strdup( psz_src2 );
-    char *psz_clean2;
+    char *psz_src2,*psz_clean, *psz_clean2;
+    psz_src2 = psz_clean = strdup( psz_src );
     int i;
+
     while( ( *psz_clean == ' ' || *psz_clean == '\t'
            || *psz_clean == '\n' || *psz_clean == '\r' )
            && *psz_clean != '\0' )
@@ -717,6 +717,7 @@ static int FetchRSS( filter_t *p_filter)
         if( !p_stream )
         {
             msg_Err( p_filter, "Failed to open %s for reading", psz_feed );
+            xml_Delete( p_xml );
             return 1;
         }
 
@@ -724,6 +725,7 @@ static int FetchRSS( filter_t *p_filter)
         if( !p_xml_reader )
         {
             msg_Err( p_filter, "Failed to open %s for parsing", psz_feed );
+            xml_Delete( p_xml );
             return 1;
         }