producer_inigo.c: bugfix segfault on unchecked pointer
[melted] / src / modules / inigo / producer_inigo.c
index ea04320..88ea2a5 100644 (file)
@@ -142,6 +142,7 @@ mlt_producer producer_inigo_init( mlt_profile profile, mlt_service_type type, co
        mlt_properties_set_int( field_properties, "registered", 0 );
 
        // Parse the arguments
+       if ( argv )
        for ( i = 0; argv[ i ] != NULL; i ++ )
        {
                if ( !strcmp( argv[ i ], "-group" ) )
@@ -402,16 +403,29 @@ mlt_producer producer_inigo_init( mlt_profile profile, mlt_service_type type, co
                                properties = MLT_PRODUCER_PROPERTIES( producer );
                                mlt_properties_inherit( properties, group );
                        }
+                       else
+                       {
+                               fprintf( stderr, "Failed to load \"%s\"\n", argv[ i ] );
+                       }
                }
                else
                {
+                       int backtrack = 0;
                        if ( !strcmp( argv[ i ], "-serialise" ) ||
                             !strcmp( argv[ i ], "-consumer" ) ||
                             !strcmp( argv[ i ], "-profile" ) )
+                       {
                                i += 2;
+                               backtrack = 1;
+                       }
 
                        while ( argv[ i ] != NULL && strchr( argv[ i ], '=' ) )
+                       {
                                i ++;
+                               backtrack = 1;
+                       }
+                       if ( backtrack )
+                               i --;
                }
        }