Commit 05fbd86e authored by vaclav's avatar vaclav
Browse files

add check for malloc return

parent db3e11cf
Loading
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -92,7 +92,13 @@ ivas_error ivas_ism_renderer_open(
        init_interpolator_length = (uint16_t) ( st_ivas->hDecoderConfig->output_Fs / FRAMES_PER_SEC );
        interpolator_length = init_interpolator_length;
    }
    st_ivas->hIsmRendererData->interpolator = (float *) malloc( sizeof( float ) * init_interpolator_length );

    if ( ( st_ivas->hIsmRendererData->interpolator = (float *) malloc( sizeof( float ) * init_interpolator_length ) ) == NULL )
    {
        return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for ISM renderer interpolator\n" ) );
    }


    for ( i = 0; i < interpolator_length; i++ )
    {
        st_ivas->hIsmRendererData->interpolator[i] = (float) i / ( (float) interpolator_length - 1 );
+6 −1
Original line number Diff line number Diff line
@@ -799,6 +799,7 @@ static ivas_error ivas_masa_dec_config(

    ivas_masa_set_coding_config( &( hMasa->config ), hMasa->data.band_mapping, st_ivas->hDecoderConfig->ivas_total_brate, st_ivas->nchan_transport, ( st_ivas->ivas_format == MC_FORMAT && st_ivas->mc_mode == MC_MODE_MCMASA ) );
#endif

#ifdef MASA_AND_OBJECTS
    if ( ( st_ivas->ivas_format == MASA_FORMAT || st_ivas->ivas_format == MASA_ISM_FORMAT ) && st_ivas->hDecoderConfig->ivas_total_brate == IVAS_512k )
#else
@@ -806,10 +807,14 @@ static ivas_error ivas_masa_dec_config(
#endif
    {
        hMasa->config.mergeRatiosOverSubframes = 0;

        /* initialize spherical grid */
        if ( hMasa->data.sph_grid16 == NULL )
        {
            hMasa->data.sph_grid16 = (SPHERICAL_GRID_DATA *) malloc( sizeof( SPHERICAL_GRID_DATA ) );
            if ( ( hMasa->data.sph_grid16 = (SPHERICAL_GRID_DATA *) malloc( sizeof( SPHERICAL_GRID_DATA ) ) ) == NULL )
            {
                return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MASA data handle\n" ) );
            }
            generate_gridEq( hMasa->data.sph_grid16 );
        }
    }
+13 −6
Original line number Diff line number Diff line
@@ -246,9 +246,11 @@ ivas_error vbap_init_data(
#ifdef MASA_AND_OBJECTS
        if ( ivas_format == MASA_ISM_FORMAT )
        {
            vbap->object_mode_bottom_virtual_speaker_node_division_gains = (float *) malloc( num_speaker_nodes * sizeof( float ) );
            if ( ( vbap->object_mode_bottom_virtual_speaker_node_division_gains = (float *) malloc( num_speaker_nodes * sizeof( float ) ) ) == NULL )
            {
                return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for VBAP data\n" ) );
            }
            set_zero( vbap->object_mode_bottom_virtual_speaker_node_division_gains, num_speaker_nodes );
            is_success &= vbap->object_mode_bottom_virtual_speaker_node_division_gains != NULL;
        }
#endif

@@ -268,9 +270,11 @@ ivas_error vbap_init_data(
#ifdef MASA_AND_OBJECTS
        if ( ivas_format == MASA_ISM_FORMAT )
        {
            vbap->object_mode_top_virtual_speaker_node_division_gains = (float *) malloc( num_speaker_nodes * sizeof( float ) );
            if ( ( vbap->object_mode_top_virtual_speaker_node_division_gains = (float *) malloc( num_speaker_nodes * sizeof( float ) ) ) == NULL )
            {
                return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for VBAP data\n" ) );
            }
            set_zero( vbap->object_mode_top_virtual_speaker_node_division_gains, num_speaker_nodes );
            is_success &= vbap->object_mode_top_virtual_speaker_node_division_gains != NULL;
        }
#endif

@@ -286,12 +290,15 @@ ivas_error vbap_init_data(
        }
        set_zero( vbap->back_virtual_speaker_node_division_gains, num_speaker_nodes );
        is_success &= vbap->back_virtual_speaker_node_division_gains != NULL;

#ifdef MASA_AND_OBJECTS
        if ( ivas_format == MASA_ISM_FORMAT )
        {
            vbap->object_mode_back_virtual_speaker_node_division_gains = (float *) malloc( num_speaker_nodes * sizeof( float ) );
            if ( ( vbap->object_mode_back_virtual_speaker_node_division_gains = (float *) malloc( num_speaker_nodes * sizeof( float ) ) ) == NULL )
            {
                return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for VBAP data\n" ) );
            }
            set_zero( vbap->object_mode_back_virtual_speaker_node_division_gains, num_speaker_nodes );
            is_success &= vbap->object_mode_back_virtual_speaker_node_division_gains != NULL;
        }
#endif
        speaker_node_azi_deg_internal[vbap->back_virtual_speaker_node_index] = 180.0f;
+8 −2
Original line number Diff line number Diff line
@@ -101,7 +101,10 @@ ivas_error ivas_omasa_enc_open(

        for ( j = 0; j < MAX_PARAM_SPATIAL_SUBFRAMES; j++ )
        {
            hOMasa->direction_vector_m[i][j] = (float *) malloc( MASA_FREQUENCY_BANDS * sizeof( float ) );
            if ( ( hOMasa->direction_vector_m[i][j] = (float *) malloc( MASA_FREQUENCY_BANDS * sizeof( float ) ) ) == NULL )
            {
                return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for OMASA data\n" ) );
            }
            set_zero( hOMasa->direction_vector_m[i][j], MASA_FREQUENCY_BANDS );
        }
    }
@@ -110,7 +113,10 @@ ivas_error ivas_omasa_enc_open(
    {
        for ( j = 0; j < DIRAC_NO_COL_AVG_DIFF; j++ )
        {
            hOMasa->buffer_intensity_real[i][j] = (float *) malloc( MASA_FREQUENCY_BANDS * sizeof( float ) );
            if ( ( hOMasa->buffer_intensity_real[i][j] = (float *) malloc( MASA_FREQUENCY_BANDS * sizeof( float ) ) ) == NULL )
            {
                return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for OMASA data\n" ) );
            }
            set_zero( hOMasa->buffer_intensity_real[i][j], MASA_FREQUENCY_BANDS );
        }
    }
+12 −3
Original line number Diff line number Diff line
@@ -116,11 +116,17 @@ ivas_error ivas_omasa_ana_open(
    /* intensity 3-dim */
    for ( i = 0; i < DIRAC_NUM_DIMS; i++ )
    {
        hOMasa->direction_vector_m[i] = (float **) malloc( MAX_PARAM_SPATIAL_SUBFRAMES * sizeof( float * ) );
        if ( ( hOMasa->direction_vector_m[i] = (float **) malloc( MAX_PARAM_SPATIAL_SUBFRAMES * sizeof( float * ) ) ) == NULL )
        {
            return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for OMASA data\n" ) );
        }

        for ( j = 0; j < MAX_PARAM_SPATIAL_SUBFRAMES; j++ )
        {
            hOMasa->direction_vector_m[i][j] = (float *) malloc( MASA_FREQUENCY_BANDS * sizeof( float ) );
            if ( ( hOMasa->direction_vector_m[i][j] = (float *) malloc( MASA_FREQUENCY_BANDS * sizeof( float ) ) ) == NULL )
            {
                return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for OMASA data\n" ) );
            }
            set_zero( hOMasa->direction_vector_m[i][j], MASA_FREQUENCY_BANDS );
        }
    }
@@ -129,7 +135,10 @@ ivas_error ivas_omasa_ana_open(
    {
        for ( j = 0; j < DIRAC_NO_COL_AVG_DIFF; j++ )
        {
            hOMasa->buffer_intensity_real[i][j] = (float *) malloc( MASA_FREQUENCY_BANDS * sizeof( float ) );
            if ( ( hOMasa->buffer_intensity_real[i][j] = (float *) malloc( MASA_FREQUENCY_BANDS * sizeof( float ) ) ) == NULL )
            {
                return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for OMASA data\n" ) );
            }
            set_zero( hOMasa->buffer_intensity_real[i][j], MASA_FREQUENCY_BANDS );
        }
    }