mirror of
https://github.com/mstorsjo/fdk-aac.git
synced 2025-03-10 21:10:04 +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:
parent
814859ba72
commit
262c9f28ec
@ -1,7 +1,7 @@
|
|||||||
/* -----------------------------------------------------------------------------
|
/* -----------------------------------------------------------------------------
|
||||||
Software License for The Fraunhofer FDK AAC Codec Library for Android
|
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.
|
Forschung e.V. All rights reserved.
|
||||||
|
|
||||||
1. INTRODUCTION
|
1. INTRODUCTION
|
||||||
@ -322,7 +322,13 @@ TRANSPORTDEC_ERROR adtsRead_DecodeHeader(HANDLE_ADTS pAdts,
|
|||||||
CProgramConfig_Read(&pAsc->m_progrConfigElement, hBs, alignAnchor);
|
CProgramConfig_Read(&pAsc->m_progrConfigElement, hBs, alignAnchor);
|
||||||
|
|
||||||
adtsRead_CrcEndReg(pAdts, hBs, crcReg);
|
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 */
|
/* store the number of PCE bits */
|
||||||
bs.num_pce_bits = pceBits;
|
bs.num_pce_bits = pceBits;
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user