]> git.sesse.net Git - mlt/commitdiff
producer_melt_init(): check for null pointer
authorMikko Rapeli <mikko.rapeli@iki.fi>
Sun, 29 Jul 2012 10:32:39 +0000 (12:32 +0200)
committerMikko Rapeli <mikko.rapeli@iki.fi>
Mon, 6 Aug 2012 16:37:23 +0000 (18:37 +0200)
Fixes Coverity CID 709349: Dereference after null check (FORWARD_NULL)
Comparing "playlist" to null implies that "playlist" might be null.
401                        if ( playlist != NULL )
...
Passing null variable "&playlist->parent.parent.parent" to function "mlt_properties_get_int", which dereferences it. [show details]
466        if ( !mlt_properties_get_int( MLT_PLAYLIST_PROPERTIES( playlist ), "_melt_first" ) ||
467                  mlt_producer_get_playtime( MLT_PLAYLIST_PRODUCER( playlist ) ) > 0 )
468                mlt_multitrack_connect( multitrack, MLT_PLAYLIST_PRODUCER( playlist ), track );

src/modules/core/producer_melt.c

index fc4812abf96e22b2fcef9cb6846c6e9023cf0088..b3ba3a14710da58d331c44987c3c700d1584097d 100644 (file)
@@ -463,7 +463,7 @@ mlt_producer producer_melt_init( mlt_profile profile, mlt_service_type type, con
        track_service( field, playlist, ( mlt_destructor )mlt_playlist_close );
 
        // We must have a playlist to connect
-       if ( !mlt_properties_get_int( MLT_PLAYLIST_PROPERTIES( playlist ), "_melt_first" ) || 
+       if ( playlist && !mlt_properties_get_int( MLT_PLAYLIST_PROPERTIES( playlist ), "_melt_first" ) || 
                  mlt_producer_get_playtime( MLT_PLAYLIST_PRODUCER( playlist ) ) > 0 )
                mlt_multitrack_connect( multitrack, MLT_PLAYLIST_PRODUCER( playlist ), track );