summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/codecs/on2/h264dec/source/EvaluationTestBench.c
diff options
context:
space:
mode:
authorMarco Nelissen <marcone@google.com>2016-04-08 10:04:48 -0700
committerThe Android Automerger <android-build@google.com>2016-04-21 19:09:57 -0700
commit2b6f22dc64d456471a1dc6df09d515771d1427c8 (patch)
tree34f4cd60b24fe97ba6694f9bc7b044a4bfa75be0 /media/libstagefright/codecs/on2/h264dec/source/EvaluationTestBench.c
parent918eeaa29d99d257282fafec931b4bda0e3bae12 (diff)
downloadframeworks_av-2b6f22dc64d456471a1dc6df09d515771d1427c8.zip
frameworks_av-2b6f22dc64d456471a1dc6df09d515771d1427c8.tar.gz
frameworks_av-2b6f22dc64d456471a1dc6df09d515771d1427c8.tar.bz2
h264dec: check for overflows when calculating allocation size.
Bug: 27855419 Change-Id: Idabedca52913ec31ea5cb6a6109ab94e3fb2badd
Diffstat (limited to 'media/libstagefright/codecs/on2/h264dec/source/EvaluationTestBench.c')
-rw-r--r--media/libstagefright/codecs/on2/h264dec/source/EvaluationTestBench.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/media/libstagefright/codecs/on2/h264dec/source/EvaluationTestBench.c b/media/libstagefright/codecs/on2/h264dec/source/EvaluationTestBench.c
index aadc75f..e756a1f 100644
--- a/media/libstagefright/codecs/on2/h264dec/source/EvaluationTestBench.c
+++ b/media/libstagefright/codecs/on2/h264dec/source/EvaluationTestBench.c
@@ -85,7 +85,7 @@ int main(int argc, char **argv)
rewind(finput);
/* allocate memory for stream buffer, exit if unsuccessful */
- byteStrm = byteStrmStart = (u8 *)H264SwDecMalloc(sizeof(u8)*strmLen);
+ byteStrm = byteStrmStart = (u8 *)H264SwDecMalloc(sizeof(u8), strmLen);
if (byteStrm == NULL)
{
printf("UNABLE TO ALLOCATE MEMORY\n");
@@ -298,9 +298,12 @@ void H264SwDecTrace(char *string)
library function malloc for allocation of memory.
------------------------------------------------------------------------------*/
-void* H264SwDecMalloc(u32 size)
+void* H264SwDecMalloc(u32 size, u32 num)
{
- return malloc(size);
+ if (size > UINT32_MAX / num) {
+ return NULL;
+ }
+ return malloc(size * num);
}
/*------------------------------------------------------------------------------