Unverified Commit 4b08810e authored by norvell's avatar norvell
Browse files

Add FIX_1495_INCORRECT_FREAD_CALL to fix wrong order of size and number of elements in fread call

parent 14fa671a
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -183,6 +183,7 @@
#define FIX_1827_REMOVE_UNUSED_PSNOISEGEN_ISAR          /* Dolby: remove unused noise generator from ISAR */
#define FIX_1487_ACCESS_OF_UNINIT_VAL_FROM_ARR_ISM_DTX  /* FhG/VA: init nb_bits_metadata to zero */
#define FIX_1477_OOB_INDEX_IN_D_ACELP_INDEXING          /* FhG: fix oob indexing */
#define FIX_1495_INCORRECT_FREAD_CALL                   /* Eri: Switched size and number of elements in fread call. */

/* #################### End BE switches ################################## */

+56 −0
Original line number Diff line number Diff line
@@ -306,7 +306,11 @@ static ivas_error TDREND_LoadBSplineBinaryITD(
    {
        return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" );
    }
#ifdef FIX_1495_INCORRECT_FREAD_CALL
    fread( &factor_Q, sizeof( int16_t ), 1, f_hrtf );
#else
    fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf );
#endif
    q_scale = powf( 2.f, -1.f * factor_Q );
    fread( v_tmp16, sizeof( int16_t ), modelITD->elevDim3 - 2, f_hrtf );
    for ( j = 0; j < modelITD->elevDim3 - 2; j++ )
@@ -326,7 +330,11 @@ static ivas_error TDREND_LoadBSplineBinaryITD(
    {
        return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" );
    }
#ifdef FIX_1495_INCORRECT_FREAD_CALL
    fread( &factor_Q, sizeof( int16_t ), 1, f_hrtf );
#else
    fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf );
#endif
    q_scale = powf( 2.f, -1.f * factor_Q );
    fread( v_tmp16, sizeof( int16_t ), ( modelITD->azimDim3 + 1 ) / 2 - 2, f_hrtf );
    for ( j = 0; j < ( modelITD->azimDim3 + 1 ) / 2 - 2; j++ )
@@ -346,7 +354,11 @@ static ivas_error TDREND_LoadBSplineBinaryITD(
        return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" );
    }

#ifdef FIX_1495_INCORRECT_FREAD_CALL
    fread( &factor_Q, sizeof( int16_t ), 1, f_hrtf );
#else
    fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf );
#endif
    q_scale = powf( 2.f, -1.f * factor_Q );
    v_tmp16 = (int16_t *) malloc( tmp * sizeof( int16_t ) );
    if ( v_tmp16 == NULL )
@@ -393,7 +405,11 @@ static ivas_error TDREND_LoadBSplineBinaryITD(
    {
        return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" );
    }
#ifdef FIX_1495_INCORRECT_FREAD_CALL
    fread( &factor_Q, sizeof( int16_t ), 1, f_hrtf );
#else
    fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf );
#endif
    q_scale = powf( 2.f, -1.f * factor_Q );
    fread( v_tmp16, sizeof( int16_t ), tmp, f_hrtf );
    for ( j = 0; j < tmp; j++ )
@@ -442,7 +458,11 @@ static ivas_error TDREND_LoadBSplineBinaryITD(
    {
        return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" );
    }
#ifdef FIX_1495_INCORRECT_FREAD_CALL
    fread( &factor_Q, sizeof( int16_t ), 1, f_hrtf );
#else
    fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf );
#endif
    q_scale = powf( 2.f, -1.f * factor_Q );
    fread( v_tmp16, sizeof( int16_t ), tmp, f_hrtf );
    for ( j = 0; j < tmp; j++ )
@@ -488,9 +508,17 @@ static ivas_error TDREND_LoadBSplineBinary(
        return IVAS_ERR_UNEXPECTED_NULL_POINTER;
    }

#ifdef FIX_1495_INCORRECT_FREAD_CALL
    fread( &factor_Q, sizeof( int16_t ), 1, f_hrtf );
#else
    fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf );
#endif
    q_scale = powf( 2.f, -1.f * factor_Q );
#ifdef FIX_1495_INCORRECT_FREAD_CALL
    fread( &tmp32, sizeof( int32_t ), 1, f_hrtf );
#else
    fread( &tmp32, 1, sizeof( int32_t ), f_hrtf );
#endif
    HrFiltSet_p->latency_s = tmp32 * q_scale;

    model = &( HrFiltSet_p->ModelParams );
@@ -541,7 +569,11 @@ static ivas_error TDREND_LoadBSplineBinary(
    {
        return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" );
    }
#ifdef FIX_1495_INCORRECT_FREAD_CALL
    fread( &factor_Q, sizeof( int16_t ), 1, f_hrtf );
#else
    fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf );
#endif
    q_scale = powf( 2.f, -1.f * factor_Q );
    fread( v_tmp16, sizeof( int16_t ), model->elevDim3 - 2, f_hrtf );
    for ( j = 0; j < model->elevDim3 - 2; j++ )
@@ -585,7 +617,11 @@ static ivas_error TDREND_LoadBSplineBinary(
        {
            return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" );
        }
#ifdef FIX_1495_INCORRECT_FREAD_CALL
        fread( &factor_Q, sizeof( int16_t ), 1, f_hrtf );
#else
        fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf );
#endif
        q_scale = powf( 2.f, -1.f * factor_Q );
        fread( v_tmp16, sizeof( int16_t ), ( model->azimDim3_dyn[i] + 1 ), f_hrtf );
        for ( j = 0; j < model->azimDim3_dyn[i] + 1; j++ )
@@ -606,7 +642,11 @@ static ivas_error TDREND_LoadBSplineBinary(
    {
        return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" );
    }
#ifdef FIX_1495_INCORRECT_FREAD_CALL
    fread( &factor_Q, sizeof( int16_t ), 1, f_hrtf );
#else
    fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf );
#endif
    q_scale = powf( 2.f, -1.f * factor_Q );

    fread( v_tmp16, sizeof( int16_t ), model->AlphaN * model->K, f_hrtf );
@@ -666,7 +706,11 @@ static ivas_error TDREND_LoadBSplineBinary(
        {
            return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" );
        }
#ifdef FIX_1495_INCORRECT_FREAD_CALL
        fread( &factor_Q, sizeof( int16_t ), 1, f_hrtf );
#else
        fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf );
#endif
        q_scale = powf( 2.f, -1.f * factor_Q );
        v_tmp16 = (int16_t *) malloc( tmp * sizeof( int16_t ) );
        if ( v_tmp16 == NULL )
@@ -738,7 +782,11 @@ static ivas_error TDREND_LoadBSplineBinary(
        return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate memory for hrtf data" );
    }

#ifdef FIX_1495_INCORRECT_FREAD_CALL
    fread( &factor_Q, sizeof( int16_t ), 1, f_hrtf );
#else
    fread( &factor_Q, 1, sizeof( int16_t ), f_hrtf );
#endif
    q_scale = powf( 2.f, -1.f * factor_Q );
    fread( v_tmp16, sizeof( int16_t ), tmp, f_hrtf );
    for ( j = 0; j < tmp; j++ )
@@ -1035,7 +1083,11 @@ static ivas_error TDREND_MIX_LoadHRTF(

        /* try if it is old format for BE tests*/
        fseek( f_hrtf, 0, SEEK_SET );
#ifdef FIX_1495_INCORRECT_FREAD_CALL
        if ( fread( &tmp, sizeof( int16_t ), 1, f_hrtf ) == 0 )
#else
        if ( fread( &tmp, 1, sizeof( int16_t ), f_hrtf ) == 0 )
#endif
        {
            header_check_result = IVAS_ERROR( IVAS_ERR_FAILED_FILE_READ, "Error in HRTF file reading" );
        }
@@ -1107,7 +1159,11 @@ static ivas_error TDREND_MIX_LoadHRTF(

    if ( is_tdrend )
    {
#ifdef FIX_1495_INCORRECT_FREAD_CALL
        if ( fread( &tmp, sizeof( int16_t ), 1, f_hrtf ) == 0 )
#else
        if ( fread( &tmp, 1, sizeof( int16_t ), f_hrtf ) == 0 )
#endif
        {
            return IVAS_ERROR( IVAS_ERR_FAILED_FILE_READ, "Error in HRTF file reading" );
        }