]> git.sesse.net Git - vlc/commitdiff
DV: check return of vlc_clone
authorJean-Baptiste Kempf <jb@videolan.org>
Fri, 28 Oct 2011 11:40:43 +0000 (13:40 +0200)
committerJean-Baptiste Kempf <jb@videolan.org>
Sun, 30 Oct 2011 23:42:18 +0000 (00:42 +0100)
modules/access/dv.c

index d43d476311a2ba5d0eb4f904ff8511f204d62fb3..f9b7bf2a3359658f88038ac61ad132a7a3127c98 100644 (file)
@@ -206,17 +206,22 @@ static int Open( vlc_object_t *p_this )
     p_sys->p_ev = calloc( 1, sizeof( *p_sys->p_ev ) );
     if( !p_sys->p_ev )
     {
-        msg_Err( p_access, "failed to create event thread" );
+        msg_Err( p_access, "failed to create event thread struct" );
         Close( p_this );
-        return VLC_EGENERIC;
+        return VLC_ENOMEM;
     }
 
     p_sys->p_ev->p_frame = NULL;
     p_sys->p_ev->pp_last = &p_sys->p_ev->p_frame;
     p_sys->p_ev->p_access = p_access;
     vlc_mutex_init( &p_sys->p_ev->lock );
-    vlc_clone( &p_sys->p_ev->thread, Raw1394EventThread,
-               p_sys->p_ev, VLC_THREAD_PRIORITY_OUTPUT );
+    if( vlc_clone( &p_sys->p_ev->thread, Raw1394EventThread,
+               p_sys->p_ev, VLC_THREAD_PRIORITY_OUTPUT ) )
+    {
+        msg_Err( p_access, "failed to clone event thread" );
+        Close( p_this );
+        return VLC_EGENERIC;
+    }
 
     return VLC_SUCCESS;
 }