mirror of https://github.com/mstorsjo/fdk-aac.git
Fix unsigned integer overflow in aacDecoder_UpdateBitStreamCounters()
am: f19e863cce
Change-Id: I0e8a97a690f959840fbb3a249e41b260ac87d922
This commit is contained in:
commit
1f93990cfc
|
@ -861,14 +861,16 @@ typedef struct {
|
||||||
returns AAC_DEC_TRANSPORT_SYNC_ERROR. It will be
|
returns AAC_DEC_TRANSPORT_SYNC_ERROR. It will be
|
||||||
< 0 if the estimation failed. */
|
< 0 if the estimation failed. */
|
||||||
|
|
||||||
UINT numTotalBytes; /*!< This is the number of total bytes that have passed
|
INT64 numTotalBytes; /*!< This is the number of total bytes that have passed
|
||||||
through the decoder. */
|
through the decoder. */
|
||||||
UINT numBadBytes; /*!< This is the number of total bytes that were considered
|
INT64
|
||||||
with errors from numTotalBytes. */
|
numBadBytes; /*!< This is the number of total bytes that were considered
|
||||||
UINT numTotalAccessUnits; /*!< This is the number of total access units that
|
with errors from numTotalBytes. */
|
||||||
have passed through the decoder. */
|
INT64
|
||||||
UINT numBadAccessUnits; /*!< This is the number of total access units that
|
numTotalAccessUnits; /*!< This is the number of total access units that
|
||||||
were considered with errors from numTotalBytes. */
|
have passed through the decoder. */
|
||||||
|
INT64 numBadAccessUnits; /*!< This is the number of total access units that
|
||||||
|
were considered with errors from numTotalBytes. */
|
||||||
|
|
||||||
/* Metadata */
|
/* Metadata */
|
||||||
SCHAR drcProgRefLev; /*!< DRC program reference level. Defines the reference
|
SCHAR drcProgRefLev; /*!< DRC program reference level. Defines the reference
|
||||||
|
|
|
@ -1085,12 +1085,12 @@ static void aacDecoder_UpdateBitStreamCounters(CStreamInfo *pSi,
|
||||||
INT nBytes;
|
INT nBytes;
|
||||||
|
|
||||||
nBytes = nBits >> 3;
|
nBytes = nBits >> 3;
|
||||||
pSi->numTotalBytes = (UINT)((INT)pSi->numTotalBytes + nBytes);
|
pSi->numTotalBytes += nBytes;
|
||||||
if (IS_OUTPUT_VALID(ErrorStatus)) {
|
if (IS_OUTPUT_VALID(ErrorStatus)) {
|
||||||
pSi->numTotalAccessUnits++;
|
pSi->numTotalAccessUnits++;
|
||||||
}
|
}
|
||||||
if (IS_DECODE_ERROR(ErrorStatus)) {
|
if (IS_DECODE_ERROR(ErrorStatus)) {
|
||||||
pSi->numBadBytes = (UINT)((INT)pSi->numBadBytes + nBytes);
|
pSi->numBadBytes += nBytes;
|
||||||
pSi->numBadAccessUnits++;
|
pSi->numBadAccessUnits++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue