From a4d1f0ad52e2cf6f168d2193216602f52033fc27 Mon Sep 17 00:00:00 2001 From: Fraunhofer IIS FDK Date: Wed, 23 May 2018 18:26:27 +0200 Subject: 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 --- libFDK/include/cplx_mul.h | 20 -------------------- libFDK/include/mdct.h | 1 + 2 files changed, 1 insertion(+), 20 deletions(-) (limited to 'libFDK/include') diff --git a/libFDK/include/cplx_mul.h b/libFDK/include/cplx_mul.h index 9c5da57..eb1afce 100644 --- a/libFDK/include/cplx_mul.h +++ b/libFDK/include/cplx_mul.h @@ -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 /* ############################################################################# diff --git a/libFDK/include/mdct.h b/libFDK/include/mdct.h index e671da9..1382374 100644 --- a/libFDK/include/mdct.h +++ b/libFDK/include/mdct.h @@ -119,6 +119,7 @@ amm-info@iis.fraunhofer.de #define IMDCT_SCALE(x) SATURATE_LEFT_SHIFT(x, -MDCT_OUTPUT_SCALE, PCM_OUT_BITS) #endif #define IMDCT_SCALE_DBL(x) (FIXP_DBL)(x) +#define IMDCT_SCALE_DBL_LSH1(x) SATURATE_LEFT_SHIFT_ALT((x), 1, DFRACT_BITS) #define MLT_FLAG_CURR_ALIAS_SYMMETRY 1 -- cgit v1.2.3