aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBill Yi <byi@google.com>2020-11-05 01:06:54 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2020-11-05 01:06:54 +0000
commitf4adff7fbb0968a13fd5077ea3df734870aef3cf (patch)
tree53705cee093f9ffd9699c4b1b8d07e546717d9ae
parentf47324748294aa3959f037e31df2269d964fcef0 (diff)
parent5b4265a02a984db88fe0e7476b31d71ad2388994 (diff)
downloadfdk-aac-f4adff7fbb0968a13fd5077ea3df734870aef3cf.tar.gz
fdk-aac-f4adff7fbb0968a13fd5077ea3df734870aef3cf.tar.bz2
fdk-aac-f4adff7fbb0968a13fd5077ea3df734870aef3cf.zip
Merge "Merge rvc-release RP1A.201105.002 to aosp-master - DO NOT MERGE"
-rw-r--r--libSBRdec/src/sbrdecoder.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/libSBRdec/src/sbrdecoder.cpp b/libSBRdec/src/sbrdecoder.cpp
index b51461d..b101a4a 100644
--- a/libSBRdec/src/sbrdecoder.cpp
+++ b/libSBRdec/src/sbrdecoder.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
@@ -617,10 +617,6 @@ SBR_ERROR sbrDecoder_InitElement(
self->numSbrChannels -= self->pSbrElement[elementIndex]->nChannels;
}
- /* Save element ID for sanity checks and to have a fallback for concealment.
- */
- self->pSbrElement[elementIndex]->elementID = elementID;
-
/* Determine amount of channels for this element */
switch (elementID) {
case ID_NONE:
@@ -653,12 +649,16 @@ SBR_ERROR sbrDecoder_InitElement(
}
/* Sanity check to avoid memory leaks */
- if (elChannels < self->pSbrElement[elementIndex]->nChannels) {
+ if (elChannels < self->pSbrElement[elementIndex]->nChannels ||
+ (self->numSbrChannels + elChannels) > (8) + (1)) {
self->numSbrChannels += self->pSbrElement[elementIndex]->nChannels;
sbrError = SBRDEC_PARSE_ERROR;
goto bail;
}
+ /* Save element ID for sanity checks and to have a fallback for concealment.
+ */
+ self->pSbrElement[elementIndex]->elementID = elementID;
self->pSbrElement[elementIndex]->nChannels = elChannels;
for (ch = 0; ch < elChannels; ch++) {