diff options
author | Wei Jia <wjia@google.com> | 2015-06-05 16:32:42 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2015-06-05 16:32:42 +0000 |
commit | 13c925cab2decaed6786b0642f2b5a9f8516e71a (patch) | |
tree | 2ab38182ae494e4a158b65c9d838c445cda0226f /media/libstagefright/MPEG4Extractor.cpp | |
parent | 1f44d837a9273dc86bf0c928c2ead313d71d1464 (diff) | |
parent | 6ff53b96235bf99cdc1023b99d44f1c4cade1c0a (diff) | |
download | frameworks_av-13c925cab2decaed6786b0642f2b5a9f8516e71a.zip frameworks_av-13c925cab2decaed6786b0642f2b5a9f8516e71a.tar.gz frameworks_av-13c925cab2decaed6786b0642f2b5a9f8516e71a.tar.bz2 |
am 6ff53b96: Merge "Prevent integer overflow when processing covr MPEG4 atoms" into klp-dev
* commit '6ff53b96235bf99cdc1023b99d44f1c4cade1c0a':
Prevent integer overflow when processing covr MPEG4 atoms
Diffstat (limited to 'media/libstagefright/MPEG4Extractor.cpp')
-rw-r--r-- | media/libstagefright/MPEG4Extractor.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/media/libstagefright/MPEG4Extractor.cpp b/media/libstagefright/MPEG4Extractor.cpp index 4f08f70..b3eebfa 100644 --- a/media/libstagefright/MPEG4Extractor.cpp +++ b/media/libstagefright/MPEG4Extractor.cpp @@ -1763,6 +1763,10 @@ 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; + } sp<ABuffer> buffer = new ABuffer(chunk_data_size + 1); if (mDataSource->readAt( data_offset, buffer->data(), chunk_data_size) != (ssize_t)chunk_data_size) { |