summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Nelissen <marcone@google.com>2020-09-30 16:28:55 -0700
committerandroid-build-team Robot <android-build-team-robot@google.com>2020-10-13 01:06:18 +0000
commit3ff1a66ba11df94921a6309277e43337a7cc5415 (patch)
treec4a463a495bb6d3d6445ce016ab2c61800d454c9
parentfc01454eb6c9bdb7707c65aca4b3ede9f357ba03 (diff)
downloadsonivox-3ff1a66ba11df94921a6309277e43337a7cc5415.tar.gz
Add bounds check for dls samples
Bug: 151096540 Test: manual Change-Id: Ia40bc8dfba512451438322bb720035973138bd7d (cherry picked from commit b67202e2673ce68051635a3d91217364a4841a1d)
-rw-r--r--arm-wt-22k/lib_src/eas_mdls.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arm-wt-22k/lib_src/eas_mdls.c b/arm-wt-22k/lib_src/eas_mdls.c
index 876ce9b..fac6987 100644
--- a/arm-wt-22k/lib_src/eas_mdls.c
+++ b/arm-wt-22k/lib_src/eas_mdls.c
@@ -1372,6 +1372,10 @@ static EAS_RESULT Parse_data (SDLS_SYNTHESIZER_DATA *pDLSData, EAS_I32 pos, EAS_
{
return EAS_SUCCESS;
}
+ if (sampleLen < sizeof(EAS_SAMPLE)
+ || (pWsmp->loopStart + pWsmp->loopLength) * sizeof(EAS_SAMPLE) > sampleLen - sizeof(EAS_SAMPLE)) {
+ return EAS_FAILURE;
+ }
pSample[(pWsmp->loopStart + pWsmp->loopLength)>>1] = pSample[(pWsmp->loopStart)>>1];
}