]> git.sesse.net Git - vlc/commitdiff
Fix a segmentation fault in case of error
authorRémi Denis-Courmont <rem@videolan.org>
Sun, 10 Apr 2005 16:12:57 +0000 (16:12 +0000)
committerRémi Denis-Courmont <rem@videolan.org>
Sun, 10 Apr 2005 16:12:57 +0000 (16:12 +0000)
modules/misc/xml/xtag.c

index 6c4ae02bd2e36be2bdbebabf0ce6e2cee7b9227d..853209c45eaae9583cf8c511635a33b2faf2d4c1 100644 (file)
@@ -165,7 +165,6 @@ static void CatalogAdd( xml_t *p_xml, const char *psz_arg1,
 static xml_reader_t *ReaderCreate( xml_t *p_xml, stream_t *s )
 {
     xml_reader_t *p_reader;
-    xml_reader_sys_t *p_sys;
     char *p_buffer;
     int i_size,i_buffer;
     XTag *p_root;
@@ -174,6 +173,9 @@ static xml_reader_t *ReaderCreate( xml_t *p_xml, stream_t *s )
 
     i_size = stream_Size( s ) - stream_Tell( s );
     p_buffer = malloc( i_size + 1 );
+    if( p_buffer == NULL )
+        return NULL;
+
     i_buffer = 0;
     while( i_buffer < i_size )
     {
@@ -198,7 +200,7 @@ static xml_reader_t *ReaderCreate( xml_t *p_xml, stream_t *s )
     }
 
     p_reader = malloc( sizeof(xml_reader_t) );
-    p_reader->p_sys = p_sys = malloc( sizeof(xml_reader_sys_t) );
+    p_reader->p_sys = malloc( sizeof(xml_reader_sys_t) );
     p_reader->p_sys->p_root = p_root;
     p_reader->p_sys->p_curtag = NULL;
     p_reader->p_sys->p_curattr = NULL;