1
0
mirror of https://github.com/mstorsjo/fdk-aac.git synced 2025-06-05 22:39:13 +02:00

FDKv2 ubsan patches

Bug: 80053205
Test: see bug for repro with FB "wow"
   atest DecoderTestAacDrc

Fix signed integer overflows in CLpc_SynthesisLattice()

Change-Id: Icbddfcc8c5fc73382ae5bf8c2a7703802c688e06

Fix signed integer overflows in imlt

Change-Id: I687834fca2f1aab6210ed9862576b4f38fcdeb24

Fix overflow in addLowbandEnergies()

Change-Id: Iaa9fdf9deb49c33ec6ca7ed3081c4ddaa920e9aa

Concealment fix for audio frames containing acelp components

Change-Id: Ibe5e83a6efa75a48f729984a161a76b826878f4e

Fix out-of-bounds access in PS concealment

Change-Id: I08809a03a40d1feaf00e41278db314d67e1efe88

Fix potential memory leak in setup of qmf domain

Change-Id: Id9fc2448354dc7f1b439469128407305efa3def2

Reject channel config 13

Change-Id: Idf5236f6cd054df994e69c9c972c97f6768cf9e5

Fix unsigned integer overflow in configExtension()

Change-Id: I8a1668810b85e6237c3892891444ff08f04b019b

Fix unsigned integer overflow in CAacDecoder_DecodeFrame()

Change-Id: I79678c571690178e6c37680f70a9b94dd3cbc439

Fix unsigned integer overflow in aacDecoder_UpdateBitStreamCounters()

Change-Id: I3bff959da9f53fabb18cd0ae6c260e6256194526

Fix unsigned integer overflow in transportDec_readStream()

Change-Id: I6a6f9f4acaa32fae0b5de9641f8787bbc7f8286b
This commit is contained in:
Fraunhofer IIS FDK
2018-05-23 18:26:27 +02:00
committed by Jean-Michel Trivi
parent 44ac411683
commit a4d1f0ad52
16 changed files with 150 additions and 126 deletions

View File

@@ -258,26 +258,6 @@ inline void cplxMult(FIXP_DBL *c_Re, FIXP_DBL *c_Im, const FIXP_DBL a_Re,
const FIXP_DBL a_Im, const FIXP_DPK w) {
cplxMult(c_Re, c_Im, a_Re, a_Im, w.v.re, w.v.im);
}
#endif
#if !defined(FUNCTION_cplxMult_nIm)
#define FUNCTION_cplxMult_nIm
/* Same as cplxMult, but
a_Im must be negated, when used
c_re must be negated, when output
*/
inline void cplxMult_nIm(FIXP_DBL *c_Re, FIXP_DBL *c_Im, const FIXP_DBL a_Re,
const FIXP_DBL a_Im, const FIXP_SPK w) {
*c_Re = -(fMult(a_Re, w.v.re) + fMult(a_Im, w.v.im));
*c_Im = fMult(a_Re, w.v.im) - fMult(a_Im, w.v.re);
}
inline void cplxMult_nIm(FIXP_DBL *c_Re, FIXP_DBL *c_Im, const FIXP_DBL a_Re,
const FIXP_DBL a_Im, const FIXP_DPK w) {
*c_Re = -(fMult(a_Re, w.v.re) + fMult(a_Im, w.v.im));
*c_Im = fMult(a_Re, w.v.im) - fMult(a_Im, w.v.re);
}
#endif
/* #############################################################################