summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/MPEG4Extractor.cpp
diff options
context:
space:
mode:
authorJoshua J. Drake <android-open-source@qoop.org>2015-08-04 21:25:38 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-08-04 21:25:38 +0000
commit52d1defcfe51bd3b5f4e191fb70a0a0a406c33dc (patch)
tree6680fba278d31dba6deeddb0ecb671de7c62c271 /media/libstagefright/MPEG4Extractor.cpp
parenta9d7c917d3a76d0bef9b8afe7ade206534be68a4 (diff)
parent9481a101f8246263d969af66a7b39fad7346772e (diff)
downloadframeworks_av-52d1defcfe51bd3b5f4e191fb70a0a0a406c33dc.zip
frameworks_av-52d1defcfe51bd3b5f4e191fb70a0a0a406c33dc.tar.gz
frameworks_av-52d1defcfe51bd3b5f4e191fb70a0a0a406c33dc.tar.bz2
am 9481a101: am a81b3779: Prevent integer overflow when processing covr MPEG4 atoms
* commit '9481a101f8246263d969af66a7b39fad7346772e': Prevent integer overflow when processing covr MPEG4 atoms
Diffstat (limited to 'media/libstagefright/MPEG4Extractor.cpp')
-rw-r--r--media/libstagefright/MPEG4Extractor.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/media/libstagefright/MPEG4Extractor.cpp b/media/libstagefright/MPEG4Extractor.cpp
index dc8e4a3..d1f25f6 100644
--- a/media/libstagefright/MPEG4Extractor.cpp
+++ b/media/libstagefright/MPEG4Extractor.cpp
@@ -1426,6 +1426,9 @@ status_t MPEG4Extractor::parseChunk(off64_t *offset, int depth) {
if (mFileMetaData != NULL) {
ALOGV("chunk_data_size = %lld and data_offset = %lld",
chunk_data_size, data_offset);
+ if (chunk_data_size >= SIZE_MAX - 1) {
+ return ERROR_MALFORMED;
+ }
uint8_t *buffer = new uint8_t[chunk_data_size + 1];
if (mDataSource->readAt(
data_offset, buffer, chunk_data_size) != (ssize_t)chunk_data_size) {