mirror of https://github.com/mstorsjo/fdk-aac.git
Merge "Adjust data types to prevent load of invalid value" into sc-dev am: 9b9f051c92
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/14381853 Change-Id: I6cb305c13a9ffe354a4a0cb89228a473c4688645
This commit is contained in:
commit
4f86d745ab
|
@ -1694,8 +1694,7 @@ static TRANSPORTDEC_ERROR extElementConfig(CSUsacExtElementConfig *extElement,
|
|||
const AUDIO_OBJECT_TYPE aot) {
|
||||
TRANSPORTDEC_ERROR ErrorStatus = TRANSPORTDEC_OK;
|
||||
|
||||
USAC_EXT_ELEMENT_TYPE usacExtElementType =
|
||||
(USAC_EXT_ELEMENT_TYPE)escapedValue(hBs, 4, 8, 16);
|
||||
UINT usacExtElementType = escapedValue(hBs, 4, 8, 16);
|
||||
|
||||
/* recurve extension elements which are invalid for USAC */
|
||||
if (aot == AOT_USAC) {
|
||||
|
@ -1712,7 +1711,6 @@ static TRANSPORTDEC_ERROR extElementConfig(CSUsacExtElementConfig *extElement,
|
|||
}
|
||||
}
|
||||
|
||||
extElement->usacExtElementType = usacExtElementType;
|
||||
int usacExtElementConfigLength = escapedValue(hBs, 4, 8, 16);
|
||||
extElement->usacExtElementConfigLength = (USHORT)usacExtElementConfigLength;
|
||||
INT bsAnchor;
|
||||
|
@ -1746,8 +1744,10 @@ static TRANSPORTDEC_ERROR extElementConfig(CSUsacExtElementConfig *extElement,
|
|||
}
|
||||
} break;
|
||||
default:
|
||||
usacExtElementType = ID_EXT_ELE_UNKNOWN;
|
||||
break;
|
||||
}
|
||||
extElement->usacExtElementType = (USAC_EXT_ELEMENT_TYPE)usacExtElementType;
|
||||
|
||||
/* Adjust bit stream position. This is required because of byte alignment and
|
||||
* unhandled extensions. */
|
||||
|
@ -1776,7 +1776,7 @@ static TRANSPORTDEC_ERROR configExtension(CSUsacConfig *usc,
|
|||
TRANSPORTDEC_ERROR ErrorStatus = TRANSPORTDEC_OK;
|
||||
|
||||
int numConfigExtensions;
|
||||
CONFIG_EXT_ID usacConfigExtType;
|
||||
UINT usacConfigExtType;
|
||||
int usacConfigExtLength;
|
||||
int loudnessInfoSetIndex =
|
||||
-1; /* index of loudnessInfoSet config extension. -1 if not contained. */
|
||||
|
@ -1787,7 +1787,7 @@ static TRANSPORTDEC_ERROR configExtension(CSUsacConfig *usc,
|
|||
for (int confExtIdx = 0; confExtIdx < numConfigExtensions; confExtIdx++) {
|
||||
INT nbits;
|
||||
int loudnessInfoSetConfigExtensionPosition = FDKgetValidBits(hBs);
|
||||
usacConfigExtType = (CONFIG_EXT_ID)escapedValue(hBs, 4, 8, 16);
|
||||
usacConfigExtType = escapedValue(hBs, 4, 8, 16);
|
||||
usacConfigExtLength = (int)escapedValue(hBs, 4, 8, 16);
|
||||
|
||||
/* Start bit position of config extension */
|
||||
|
|
Loading…
Reference in New Issue