diff options
author | Fraunhofer IIS FDK <audio-fdk@iis.fraunhofer.de> | 2021-04-30 15:22:05 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2021-04-30 15:22:05 +0000 |
commit | 7997eb4a7396c9a345df52667bf3c52992c47456 (patch) | |
tree | 707b447f0954b10f9866c94f9097bbf31bf5007d | |
parent | 5f80d21a8a5ee31d7eb4b6d171223aa357fdf629 (diff) | |
parent | b7aee93697a4846a3f4ed0364e815218b71c3247 (diff) | |
download | fdk-aac-7997eb4a7396c9a345df52667bf3c52992c47456.tar.gz fdk-aac-7997eb4a7396c9a345df52667bf3c52992c47456.tar.bz2 fdk-aac-7997eb4a7396c9a345df52667bf3c52992c47456.zip |
Avoid signed integer overflow in pcmLimiter_Apply(). am: 5a83a8e5e1 am: b7aee93697
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/14355877
Change-Id: I8fa97fd0acad276f8e6c26f153027f4ace636f5a
-rw-r--r-- | libPCMutils/src/limiter.cpp | 5 |
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 } } |