for( int i = 0; i < p_sys->i_effect; i++ )
{
#define p_effect p_sys->effect[i]
- if( !strncmp( p_effect->psz_name, "spectrum", strlen( "spectrum" ) ) )
+ if( p_effect->p_data != NULL )
{
- spectrum_data *p_data = p_effect->p_data;
- free( p_data->peaks );
- free( p_data->prev_heights );
- free( p_data->p_prev_s16_buff );
- }
- if( !strncmp( p_effect->psz_name, "spectrometer", strlen( "spectrometer" ) ) )
- {
- spectrometer_data *p_data = p_effect->p_data;
- free( p_data->peaks );
- free( p_data->p_prev_s16_buff );
+ if( !strncmp( p_effect->psz_name, "spectrum", strlen( "spectrum" ) ) )
+ {
+ spectrum_data* p_data = p_effect->p_data;
+ free( p_data->peaks );
+ free( p_data->prev_heights );
+ free( p_data->p_prev_s16_buff );
+ }
+ if( !strncmp( p_effect->psz_name, "spectrometer", strlen( "spectrometer" ) ) )
+ {
+ spectrometer_data* p_data = p_effect->p_data;
+ free( p_data->peaks );
+ free( p_data->p_prev_s16_buff );
+ }
+ free( p_effect->p_data );
}
- free( p_effect->p_data );
free( p_effect->psz_args );
free( p_effect );
#undef p_effect