diff options
author | Wei Jia <wjia@google.com> | 2015-06-30 19:45:12 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2015-06-30 19:45:12 +0000 |
commit | 370290f400ff3057a71a192a70dfd69499aa8937 (patch) | |
tree | 173c8e276d3bc9c39bf09ffbd895c57da7300b23 /media | |
parent | 4c855d207edaaeb8c61109977a5297418295658c (diff) | |
parent | bcd5edf99867b7bc10a3847d17cfb1e63b3b1764 (diff) | |
download | frameworks_av-370290f400ff3057a71a192a70dfd69499aa8937.zip frameworks_av-370290f400ff3057a71a192a70dfd69499aa8937.tar.gz frameworks_av-370290f400ff3057a71a192a70dfd69499aa8937.tar.bz2 |
am bcd5edf9: am 13c925ca: am 6ff53b96: Merge "Prevent integer overflow when processing covr MPEG4 atoms" into klp-dev
* commit 'bcd5edf99867b7bc10a3847d17cfb1e63b3b1764':
Prevent integer overflow when processing covr MPEG4 atoms
Diffstat (limited to 'media')
-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 00af00b..d1b39dc 100644 --- a/media/libstagefright/MPEG4Extractor.cpp +++ b/media/libstagefright/MPEG4Extractor.cpp @@ -1929,6 +1929,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) { |