summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarco Nelissen <marcone@google.com>2017-05-11 14:43:54 -0700
committerTim Schumacher <timschumi2@arcor.de>2017-07-09 04:01:25 +0200
commitda5fba475cbf912dcc39e71bf8659bc15cc41f3d (patch)
tree4e99ac0d6971d95e6fd5f8f8637c85b36094bf20
parent8d35c43152c18b40ca26ef4788e50bf28861dbef (diff)
downloadandroid_external_sonivox-da5fba475cbf912dcc39e71bf8659bc15cc41f3d.tar.gz
android_external_sonivox-da5fba475cbf912dcc39e71bf8659bc15cc41f3d.tar.bz2
android_external_sonivox-da5fba475cbf912dcc39e71bf8659bc15cc41f3d.zip
Check chunk size
to make sure we actually advance in the file Bug: 37093318 Test: decoded poc and other files with and without change AOSP-Change-Id: I94cf65336ce4132c17c39b651dc520264f02a704 (cherry picked from commit f01750adb0558d1885c7d5a5c8900d2187d0d38d) Change-Id: I2ef49d38d52f83e61debea4d9e16988531011819
-rw-r--r--arm-wt-22k/lib_src/eas_mdls.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arm-wt-22k/lib_src/eas_mdls.c b/arm-wt-22k/lib_src/eas_mdls.c
index 6da1207..79dd01d 100644
--- a/arm-wt-22k/lib_src/eas_mdls.c
+++ b/arm-wt-22k/lib_src/eas_mdls.c
@@ -791,6 +791,11 @@ static EAS_RESULT NextChunk (SDLS_SYNTHESIZER_DATA *pDLSData, EAS_I32 *pPos, EAS
if ((result = EAS_HWGetDWord(pDLSData->hwInstData, pDLSData->fileHandle, pSize, EAS_FALSE)) != EAS_SUCCESS)
return result;
+ if (*pSize < 0) {
+ ALOGE("b/37093318");
+ return EAS_ERROR_FILE_FORMAT;
+ }
+
/* get form type for RIFF and LIST types */
if ((*pChunkType == CHUNK_RIFF) || (*pChunkType == CHUNK_LIST))
{