1
0
mirror of https://github.com/mstorsjo/fdk-aac.git synced 2025-02-02 08:56:46 +01:00

Avoid negative valid bits in adtsRead_DecodeHeader()

Avoid negative valid bits in adtsRead_DecodeHeader()
and prevent unsigned integer overflow.

Bug: 146937602
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: I264ff99e0461352ae5c2b2031393b67a7fa44571
This commit is contained in:
Fraunhofer IIS FDK 2019-11-13 16:07:47 +01:00 committed by Jean-Michel Trivi
parent 814859ba72
commit 262c9f28ec

View File

@ -1,7 +1,7 @@
/* -----------------------------------------------------------------------------
Software License for The Fraunhofer FDK AAC Codec Library for Android
© Copyright 1995 - 2018 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,13 @@ TRANSPORTDEC_ERROR adtsRead_DecodeHeader(HANDLE_ADTS pAdts,
CProgramConfig_Read(&pAsc->m_progrConfigElement, hBs, alignAnchor);
adtsRead_CrcEndReg(pAdts, hBs, crcReg);
pceBits = alignAnchor - FDKgetValidBits(hBs);
pceBits = (INT)alignAnchor - (INT)FDKgetValidBits(hBs);
adtsHeaderLength += pceBits;
if (pceBits > (INT)alignAnchor) {
goto bail;
}
/* store the number of PCE bits */
bs.num_pce_bits = pceBits;
} else {