aboutsummaryrefslogtreecommitdiffstats
path: root/libPCMutils/src
diff options
context:
space:
mode:
authorFraunhofer IIS FDK <audio-fdk@iis.fraunhofer.de>2021-04-30 14:57:37 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-04-30 14:57:37 +0000
commitb8242b65ac82649ce0b16b60310a9efc449645ce (patch)
tree707b447f0954b10f9866c94f9097bbf31bf5007d /libPCMutils/src
parent5f80d21a8a5ee31d7eb4b6d171223aa357fdf629 (diff)
parent5a83a8e5e1cafceba6bef7ac61e68a57cc93d786 (diff)
downloadfdk-aac-b8242b65ac82649ce0b16b60310a9efc449645ce.tar.gz
fdk-aac-b8242b65ac82649ce0b16b60310a9efc449645ce.tar.bz2
fdk-aac-b8242b65ac82649ce0b16b60310a9efc449645ce.zip
Avoid signed integer overflow in pcmLimiter_Apply(). am: 5a83a8e5e1
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/14355877 Change-Id: I2a97958a7c0e20f6ca2f7880b430d932ae5a1c9b
Diffstat (limited to 'libPCMutils/src')
-rw-r--r--libPCMutils/src/limiter.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/libPCMutils/src/limiter.cpp b/libPCMutils/src/limiter.cpp
index 598dc0c..c6b8687 100644
--- a/libPCMutils/src/limiter.cpp
+++ b/libPCMutils/src/limiter.cpp
@@ -1,7 +1,7 @@
/* -----------------------------------------------------------------------------
Software License for The Fraunhofer FDK AAC Codec Library for Android
-© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten
+© Copyright 1995 - 2020 Fraunhofer-Gesellschaft zur Förderung der angewandten
Forschung e.V. All rights reserved.
1. INTRODUCTION
@@ -322,7 +322,8 @@ TDLIMITER_ERROR pcmLimiter_Apply(TDLimiterPtr limiter, PCM_LIM* samplesIn,
(FIXP_DBL)SATURATE_LEFT_SHIFT(tmp, scaling, DFRACT_BITS));
#else
samplesOut[j] = (INT_PCM)FX_DBL2FX_PCM((FIXP_DBL)SATURATE_LEFT_SHIFT(
- tmp + ((FIXP_DBL)0x8000 >> scaling), scaling, DFRACT_BITS));
+ (tmp >> 1) + ((FIXP_DBL)0x8000 >> (scaling + 1)), scaling + 1,
+ DFRACT_BITS));
#endif
}
}