aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2020-09-30 04:01:35 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2020-09-30 04:01:35 +0000
commitca99f0c5ce748662478d28bd1f85348ad87d4ec4 (patch)
tree0aa40ebba2c5d35a7c8f3c0e25987aaa75c4e0c7
parentacd9a332787841f498b2d85e8de21596f22c3230 (diff)
parent3cb8890af35845b9f17b1280f9cc17ad99a845d4 (diff)
downloadlibxaac-ca99f0c5ce748662478d28bd1f85348ad87d4ec4.tar.gz
Merge "Fix for integer overflow in ixheaacd_cplx_synt_qmffilt" am: bf603c488f am: d836d24c78 am: 6772b2f2fc am: 2485448203 am: 3cb8890af3
Original change: https://android-review.googlesource.com/c/platform/external/libxaac/+/1425113 Change-Id: I580f18095e55ae38a2a6f49f5a0ce26a280bbbe1
-rw-r--r--decoder/ixheaacd_basic_ops40.h4
-rw-r--r--decoder/ixheaacd_qmf_dec.c6
2 files changed, 5 insertions, 5 deletions
diff --git a/decoder/ixheaacd_basic_ops40.h b/decoder/ixheaacd_basic_ops40.h
index 06fbbb2..c8a308c 100644
--- a/decoder/ixheaacd_basic_ops40.h
+++ b/decoder/ixheaacd_basic_ops40.h
@@ -156,8 +156,8 @@ static PLATFORM_INLINE WORD32 ixheaacd_mac32x16in32_shl(WORD32 a, WORD32 b,
return (result);
}
-static PLATFORM_INLINE WORD32 mac32x16in32_shl_sat(WORD32 a, WORD32 b,
- WORD16 c) {
+static PLATFORM_INLINE WORD32 ixheaacd_mac32x16in32_shl_sat(WORD32 a, WORD32 b,
+ WORD16 c) {
return (ixheaacd_add32_sat(a, ixheaacd_mult32x16in32_shl_sat(b, c)));
}
diff --git a/decoder/ixheaacd_qmf_dec.c b/decoder/ixheaacd_qmf_dec.c
index 8e8076e..022a631 100644
--- a/decoder/ixheaacd_qmf_dec.c
+++ b/decoder/ixheaacd_qmf_dec.c
@@ -666,10 +666,10 @@ void ixheaacd_sbr_pre_twiddle(WORD32 *p_xre, WORD32 *p_xim,
WORD32 re, im;
- re = ixheaacd_mac32x16in32_shl(
+ re = ixheaacd_mac32x16in32_shl_sat(
ixheaacd_mult32x16in32_shl(x_re, ixheaacd_cosine), x_im, ixheaacd_sine);
- im = ixheaacd_sub32(ixheaacd_mult32x16in32_shl(x_im, ixheaacd_cosine),
- ixheaacd_mult32x16in32_shl(x_re, ixheaacd_sine));
+ im = ixheaacd_sub32_sat(ixheaacd_mult32x16in32_shl(x_im, ixheaacd_cosine),
+ ixheaacd_mult32x16in32_shl(x_re, ixheaacd_sine));
*p_xre++ = re;
*p_xim++ = im;