Signed Integer Overflow in E_UTIL_preemph()

Bug: 112661356
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: Ibc7120aba3d357bfb8d751d80d99a6e0f51473e4
This commit is contained in:
Fraunhofer IIS FDK 2018-06-29 16:32:28 +02:00 committed by Jean-Michel Trivi
parent f59fd73d44
commit 9edc5864fa
4 changed files with 4 additions and 3 deletions

View File

@ -359,7 +359,7 @@ typedef struct {
shouldBeUnion {
struct {
FIXP_DBL fac_data0[LFAC];
UCHAR fac_data_e[4];
SCHAR fac_data_e[4];
FIXP_DBL
*fac_data[4]; /* Pointers to unused parts of pSpectralCoefficient */

View File

@ -142,7 +142,7 @@ FIXP_DBL *CLpd_FAC_GetMemory(CAacDecoderChannelInfo *pAacDecoderChannelInfo,
return ptr;
}
int CLpd_FAC_Read(HANDLE_FDK_BITSTREAM hBs, FIXP_DBL *pFac, UCHAR *pFacScale,
int CLpd_FAC_Read(HANDLE_FDK_BITSTREAM hBs, FIXP_DBL *pFac, SCHAR *pFacScale,
int length, int use_gain, int frame) {
FIXP_DBL fac_gain;
int fac_gain_e = 0;

View File

@ -131,7 +131,7 @@ FIXP_DBL *CLpd_FAC_GetMemory(CAacDecoderChannelInfo *pAacDecoderChannelInfo,
* Always 0 for FD case.
* \return 0 on success, -1 on error.
*/
int CLpd_FAC_Read(HANDLE_FDK_BITSTREAM hBs, FIXP_DBL *pFac, UCHAR *pFacScale,
int CLpd_FAC_Read(HANDLE_FDK_BITSTREAM hBs, FIXP_DBL *pFac, SCHAR *pFacScale,
int length, int use_gain, int frame);
/**

View File

@ -418,6 +418,7 @@ void CLpd_AdaptLowFreqDeemph(FIXP_DBL x[], int lg, FIXP_DBL alfd_gains[],
FIXP_DBL tmp_pow2[32];
s = s * 2 + ALFDPOW2_SCALE;
s = fMin(31, s);
k = 8;
i_max = lg / 4; /* ALFD range = 1600Hz (lg = 6400Hz) */