diff options
author | Joshua J. Drake <android-open-source@qoop.org> | 2015-08-04 21:25:38 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2015-08-04 21:25:38 +0000 |
commit | 52d1defcfe51bd3b5f4e191fb70a0a0a406c33dc (patch) | |
tree | 6680fba278d31dba6deeddb0ecb671de7c62c271 /media/libstagefright/MPEG4Extractor.cpp | |
parent | a9d7c917d3a76d0bef9b8afe7ade206534be68a4 (diff) | |
parent | 9481a101f8246263d969af66a7b39fad7346772e (diff) | |
download | frameworks_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.cpp | 3 |
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) { |