Commit 44d943ad authored by emerit's avatar emerit
Browse files

bug fix (asan fix)

parent ddc29d8e
Loading
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -3891,7 +3891,9 @@ static ivas_error load_hrtf_from_file(
                }
            }
        }
#ifndef FIX_2249_MEMORY_LEAK_IN_SBA
    }
#endif

#ifdef FIX_2249_MEMORY_LEAK_IN_SBA
    if ( ( binaural_renderer == IVAS_BIN_RENDERER_TYPE_FASTCONV || binaural_renderer == IVAS_BIN_RENDERER_TYPE_CREND ) && OutputConfig == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB )
@@ -3931,6 +3933,9 @@ static ivas_error load_hrtf_from_file(
            }
        }
    }
#ifdef FIX_2249_MEMORY_LEAK_IN_SBA
}
#endif

return IVAS_ERR_OK;
}
+18 −18
Original line number Diff line number Diff line
@@ -297,7 +297,7 @@ static ivas_error TDREND_LoadBSplineBinaryITD(

    fread( &modelITD->elevDim3, sizeof( Word16 ), 1, f_hrtf );
#ifdef FIX_2249_MEMORY_LEAK_IN_SBA
    ivas_HRTF_binary_open_buffers_int32( &modelITD->elevKSeq_dyn_fx, ( modelITD->elevDim3 - 2 ) * sizeof( float ) );
    ivas_HRTF_binary_open_buffers_int32( &modelITD->elevKSeq_dyn_fx, ( modelITD->elevDim3 - 2 ) * sizeof( Word32 ) );
#else
    modelITD->elevKSeq_dyn_fx = (Word32 *) malloc( ( modelITD->elevDim3 - 2 ) * sizeof( Word32 ) );
#endif
@@ -316,7 +316,7 @@ static ivas_error TDREND_LoadBSplineBinaryITD(

    fread( &modelITD->azimDim3, sizeof( Word16 ), 1, f_hrtf );
#ifdef FIX_2249_MEMORY_LEAK_IN_SBA
    ivas_HRTF_binary_open_buffers_int32( &modelITD->azimKSeq_dyn_fx, ( ( modelITD->azimDim3 + 1 ) / 2 - 2 ) * sizeof( float ) );
    ivas_HRTF_binary_open_buffers_int32( &modelITD->azimKSeq_dyn_fx, ( ( modelITD->azimDim3 + 1 ) / 2 - 2 ) * sizeof( Word32 ) );
#else
    modelITD->azimKSeq_dyn_fx = (Word32 *) malloc( ( ( modelITD->azimDim3 + 1 ) / 2 - 2 ) * sizeof( Word32 ) ); /* basis functions are flipped around 180 deg, number of basis functions above/below is (N+1)/2 */
#endif
@@ -335,7 +335,7 @@ static ivas_error TDREND_LoadBSplineBinaryITD(

    fread( &tmp, sizeof( Word16 ), 1, f_hrtf );
#ifdef FIX_2249_MEMORY_LEAK_IN_SBA
    ivas_HRTF_binary_open_buffers_int32( &modelITD->W_dyn_fx, tmp * sizeof( float ) );
    ivas_HRTF_binary_open_buffers_int32( &modelITD->W_dyn_fx, tmp * sizeof( Word32 ) );
#else
    modelITD->W_dyn_fx = (Word32 *) malloc( tmp * sizeof( Word32 ) );
#endif
@@ -383,7 +383,7 @@ static ivas_error TDREND_LoadBSplineBinaryITD(
    fread( &tmp, sizeof( Word16 ), 1, f_hrtf );

#ifdef FIX_2249_MEMORY_LEAK_IN_SBA
    ivas_HRTF_binary_open_buffers_int32( &modelITD->azimBsShape_dyn_fx, tmp * sizeof( float ) );
    ivas_HRTF_binary_open_buffers_int32( &modelITD->azimBsShape_dyn_fx, tmp * sizeof( Word32 ) );
#else
    modelITD->azimBsShape_dyn_fx = (Word32 *) malloc( tmp * sizeof( Word32 ) );
#endif
@@ -426,7 +426,7 @@ static ivas_error TDREND_LoadBSplineBinaryITD(
    fread( &tmp, sizeof( Word16 ), 1, f_hrtf );

#ifdef FIX_2249_MEMORY_LEAK_IN_SBA
    ivas_HRTF_binary_open_buffers_int32( &modelITD->elevBsShape_dyn_fx, tmp * sizeof( float ) );
    ivas_HRTF_binary_open_buffers_int32( &modelITD->elevBsShape_dyn_fx, tmp * sizeof( Word32 ) );
#else
    modelITD->elevBsShape_dyn_fx = (Word32 *) malloc( tmp * sizeof( Word32 ) );
#endif
@@ -526,7 +526,7 @@ static ivas_error TDREND_LoadBSplineBinary(
    fread( &model->K, sizeof( Word16 ), 1, f_hrtf );
    fread( &model->elevDim3, sizeof( Word16 ), 1, f_hrtf );
#ifdef FIX_2249_MEMORY_LEAK_IN_SBA
    ivas_HRTF_binary_open_buffers_int32( &model->elevKSeq_dyn_fx, ( model->elevDim3 - 2 ) * sizeof( float ) );
    ivas_HRTF_binary_open_buffers_int32( &model->elevKSeq_dyn_fx, ( model->elevDim3 - 2 ) * sizeof( Word32 ) );
#else
    model->elevKSeq_dyn_fx = (Word32 *) malloc( ( model->elevDim3 - 2 ) * sizeof( Word32 ) );
#endif
@@ -568,7 +568,7 @@ static ivas_error TDREND_LoadBSplineBinary(
        fread( &model->azimDim3_dyn[i], sizeof( Word16 ), 1, f_hrtf );
        fread( &model->azim_start_idx_dyn[i], sizeof( Word16 ), 1, f_hrtf );
#ifdef FIX_2249_MEMORY_LEAK_IN_SBA
        ivas_HRTF_binary_open_buffers_int32( &model->azimKSeq_fx[i], ( model->azimDim3_dyn[i] + 1 ) * sizeof( float ) );
        ivas_HRTF_binary_open_buffers_int32( &model->azimKSeq_fx[i], ( model->azimDim3_dyn[i] + 1 ) * sizeof( Word32 ) );
#else
        model->azimKSeq_fx[i] = (Word32 *) malloc( ( model->azimDim3_dyn[i] + 1 ) * sizeof( Word32 ) );
#endif
@@ -588,7 +588,7 @@ static ivas_error TDREND_LoadBSplineBinary(
    }
    fread( &model->AlphaN, sizeof( Word16 ), 1, f_hrtf );
#ifdef FIX_2249_MEMORY_LEAK_IN_SBA
    ivas_HRTF_binary_open_buffers_int32( &model->AlphaL_dyn_fx, model->AlphaN * model->K * sizeof( float ) );
    ivas_HRTF_binary_open_buffers_int32( &model->AlphaL_dyn_fx, model->AlphaN * model->K * sizeof( Word32 ) );
#else
    model->AlphaL_dyn_fx = (Word32 *) malloc( model->AlphaN * model->K * sizeof( Word32 ) );
#endif
@@ -610,7 +610,7 @@ static ivas_error TDREND_LoadBSplineBinary(
        model->AlphaL_dyn_fx[j] = L_shl_r( L_deposit_l( v_tmp16[j] ), Q30 - factor_Q );
    }
#ifdef FIX_2249_MEMORY_LEAK_IN_SBA
    ivas_HRTF_binary_open_buffers_int32( &model->AlphaR_dyn_fx, model->AlphaN * model->K * sizeof( float ) );
    ivas_HRTF_binary_open_buffers_int32( &model->AlphaR_dyn_fx, model->AlphaN * model->K * sizeof( Word32 ) );
#else
    model->AlphaR_dyn_fx = (Word32 *) malloc( model->AlphaN * model->K * sizeof( Word32 ) );
#endif
@@ -653,7 +653,7 @@ static ivas_error TDREND_LoadBSplineBinary(
    {
        fread( &tmp, sizeof( Word16 ), 1, f_hrtf );
#ifdef FIX_2249_MEMORY_LEAK_IN_SBA
        ivas_HRTF_binary_open_buffers_int32( &model->azimBsShape_dyn_fx[i], tmp * sizeof( float ) );
        ivas_HRTF_binary_open_buffers_int32( &model->azimBsShape_dyn_fx[i], tmp * sizeof( Word32 ) );
#else
        model->azimBsShape_dyn_fx[i] = (Word32 *) malloc( tmp * sizeof( Word32 ) );
#endif
@@ -722,7 +722,7 @@ static ivas_error TDREND_LoadBSplineBinary(

    v_tmp16 = (Word16 *) malloc( tmp * sizeof( Word16 ) );
#ifdef FIX_2249_MEMORY_LEAK_IN_SBA
    ivas_HRTF_binary_open_buffers_int32( &model->elevBsShape_dyn_fx, tmp * sizeof( float ) );
    ivas_HRTF_binary_open_buffers_int32( &model->elevBsShape_dyn_fx, tmp * sizeof( Word32 ) );
#else
    model->elevBsShape_dyn_fx = (Word32 *) malloc( tmp * sizeof( Word32 ) );
#endif
@@ -742,7 +742,7 @@ static ivas_error TDREND_LoadBSplineBinary(
    fread( &model->elevSegSamples, sizeof( Word16 ), 1, f_hrtf );

#ifdef FIX_2249_MEMORY_LEAK_IN_SBA
    ivas_HRTF_binary_open_buffers_int32( &model->EL_dyn_fx, model->AlphaN * HRTF_MODEL_N_SECTIONS * sizeof( float ) );
    ivas_HRTF_binary_open_buffers_int32( &model->EL_dyn_fx, model->AlphaN * HRTF_MODEL_N_SECTIONS * sizeof( Word32 ) );
#else
    model->EL_dyn_fx = (Word32 *) malloc( model->AlphaN * HRTF_MODEL_N_SECTIONS * sizeof( Word32 ) );
#endif
@@ -758,7 +758,7 @@ static ivas_error TDREND_LoadBSplineBinary(
    fread( (Word32 *) model->EL_dyn_fx, sizeof( Word32 ), model->AlphaN * HRTF_MODEL_N_SECTIONS, f_hrtf );

#ifdef FIX_2249_MEMORY_LEAK_IN_SBA
    ivas_HRTF_binary_open_buffers_int32( &model->ER_dyn_fx, model->AlphaN * HRTF_MODEL_N_SECTIONS * sizeof( float ) );
    ivas_HRTF_binary_open_buffers_int32( &model->ER_dyn_fx, model->AlphaN * HRTF_MODEL_N_SECTIONS * sizeof( Word32 ) );
#else
    model->ER_dyn_fx = (Word32 *) malloc( model->AlphaN * HRTF_MODEL_N_SECTIONS * sizeof( Word32 ) );
#endif
@@ -792,8 +792,8 @@ static ivas_error TDREND_LoadBSplineBinary(
    HrFiltSet_p->FiltLength = HrFiltSet_p->ModelParams.K;

#ifdef FIX_2249_MEMORY_LEAK_IN_SBA
    ivas_HRTF_binary_open_buffers_int32( &HrFiltSet_p->ModelEval.hrfModL_fx, model->K * sizeof( float ) );
    ivas_HRTF_binary_open_buffers_int32( &HrFiltSet_p->ModelEval.hrfModR_fx, model->K * sizeof( float ) );
    ivas_HRTF_binary_open_buffers_int32( &HrFiltSet_p->ModelEval.hrfModL_fx, model->K * sizeof( Word32 ) );
    ivas_HRTF_binary_open_buffers_int32( &HrFiltSet_p->ModelEval.hrfModR_fx, model->K * sizeof( Word32 ) );
#else
    HrFiltSet_p->ModelEval.hrfModL_fx = (Word32 *) malloc( model->K * sizeof( Word32 ) );
    HrFiltSet_p->ModelEval.hrfModR_fx = (Word32 *) malloc( model->K * sizeof( Word32 ) );
@@ -911,9 +911,9 @@ static ivas_error load_reverb_from_binary(
    if ( is_reverb )
    {
#ifdef FIX_2249_MEMORY_LEAK_IN_SBA
        ivas_HRTF_binary_open_buffers_int32( &hHrtfStatistics->average_energy_l_dyn, lr_iac_len * sizeof( float ) );
        ivas_HRTF_binary_open_buffers_int32( &hHrtfStatistics->average_energy_r_dyn, lr_iac_len * sizeof( float ) );
        ivas_HRTF_binary_open_buffers_int32( &hHrtfStatistics->inter_aural_coherence_dyn, lr_iac_len * sizeof( float ) );
        ivas_HRTF_binary_open_buffers_int32( &hHrtfStatistics->average_energy_l_dyn, lr_iac_len * sizeof( Word32 ) );
        ivas_HRTF_binary_open_buffers_int32( &hHrtfStatistics->average_energy_r_dyn, lr_iac_len * sizeof( Word32 ) );
        ivas_HRTF_binary_open_buffers_int32( &hHrtfStatistics->inter_aural_coherence_dyn, lr_iac_len * sizeof( Word32 ) );
#else
        hHrtfStatistics->average_energy_l_dyn = (Word32 *) malloc( lr_iac_len * sizeof( Word32 ) );
        hHrtfStatistics->average_energy_r_dyn = (Word32 *) malloc( lr_iac_len * sizeof( Word32 ) );