aboutsummaryrefslogtreecommitdiffstats
path: root/libSACdec
diff options
context:
space:
mode:
authorFraunhofer IIS FDK <audio-fdk@iis.fraunhofer.de>2018-06-08 18:15:03 +0200
committerJean-Michel Trivi <jmtrivi@google.com>2018-12-26 14:01:46 -0500
commitbfa96f60bc607f64f865c9a77b8d896f8250e3b8 (patch)
treeb67e5fb03e8fa9c8fbffe45ed5b155a66bf57bc3 /libSACdec
parentd2be744af28a784177d1de8d7190377c8932e03d (diff)
downloadfdk-aac-bfa96f60bc607f64f865c9a77b8d896f8250e3b8.tar.gz
fdk-aac-bfa96f60bc607f64f865c9a77b8d896f8250e3b8.tar.bz2
fdk-aac-bfa96f60bc607f64f865c9a77b8d896f8250e3b8.zip
Unsigned Integer Overflows in mpegSurroundDecoder_Parse().
Bug: 112661835 Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc Change-Id: I3714e88d7a9a866297bb2e93571804665a97773f
Diffstat (limited to 'libSACdec')
-rw-r--r--libSACdec/src/sac_dec_lib.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/libSACdec/src/sac_dec_lib.cpp b/libSACdec/src/sac_dec_lib.cpp
index ebf9bee..5ae89d1 100644
--- a/libSACdec/src/sac_dec_lib.cpp
+++ b/libSACdec/src/sac_dec_lib.cpp
@@ -1232,7 +1232,7 @@ int mpegSurroundDecoder_Parse(CMpegSurroundDecoder *pMpegSurroundDecoder,
FDK_ASSERT(pMpegSurroundDecoder->pSpatialDec);
- mpsBsBits = FDKgetValidBits(hBs);
+ mpsBsBits = (INT)FDKgetValidBits(hBs);
sscParse = &pMpegSurroundDecoder
->spatialSpecificConfig[pMpegSurroundDecoder->bsFrameParse];
@@ -1308,14 +1308,14 @@ int mpegSurroundDecoder_Parse(CMpegSurroundDecoder *pMpegSurroundDecoder,
pMpegSurroundDecoder->spatialSpecificConfigBackup;
/* Parse spatial specific config */
- bitsRead = FDKgetValidBits(hMpsBsData);
+ bitsRead = (INT)FDKgetValidBits(hMpsBsData);
err = SpatialDecParseSpecificConfigHeader(
hMpsBsData,
&pMpegSurroundDecoder->spatialSpecificConfigBackup, coreCodec,
pMpegSurroundDecoder->upmixType);
- bitsRead = (bitsRead - FDKgetValidBits(hMpsBsData));
+ bitsRead = (bitsRead - (INT)FDKgetValidBits(hMpsBsData));
parseResult = ((err == MPS_OK) ? bitsRead : -bitsRead);
if (parseResult < 0) {
@@ -1429,7 +1429,7 @@ int mpegSurroundDecoder_Parse(CMpegSurroundDecoder *pMpegSurroundDecoder,
bail:
- *pMpsDataBits -= (mpsBsBits - FDKgetValidBits(hBs));
+ *pMpsDataBits -= (mpsBsBits - (INT)FDKgetValidBits(hBs));
return err;
}