summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorJeff Tinker <jtinker@google.com>2015-08-12 00:53:49 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-08-12 00:53:49 +0000
commit45d31391e6922dee2bbf9f6745f0a5545858eb63 (patch)
tree738b1db4dd5a239dc134e2554d10177ebb63274f /media
parent3b770a61d1ca70c32cc3fd59c03a2434da5172cd (diff)
parentfa8ebb45fd850f56ca1bf64fbed3ac11e10c7d3d (diff)
downloadframeworks_av-45d31391e6922dee2bbf9f6745f0a5545858eb63.zip
frameworks_av-45d31391e6922dee2bbf9f6745f0a5545858eb63.tar.gz
frameworks_av-45d31391e6922dee2bbf9f6745f0a5545858eb63.tar.bz2
am fa8ebb45: Check integer overflow to prevent memory corruption
* commit 'fa8ebb45fd850f56ca1bf64fbed3ac11e10c7d3d': Check integer overflow to prevent memory corruption
Diffstat (limited to 'media')
-rw-r--r--media/libstagefright/DRMExtractor.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/media/libstagefright/DRMExtractor.cpp b/media/libstagefright/DRMExtractor.cpp
index 63cb430..9cb6e86 100644
--- a/media/libstagefright/DRMExtractor.cpp
+++ b/media/libstagefright/DRMExtractor.cpp
@@ -186,7 +186,8 @@ status_t DRMSource::read(MediaBuffer **buffer, const ReadOptions *options) {
srcOffset += mNALLengthSize;
- if (srcOffset + nalLength > len) {
+ size_t end = srcOffset + nalLength;
+ if (end > len || end < srcOffset) {
if (decryptedDrmBuffer.data) {
delete [] decryptedDrmBuffer.data;
decryptedDrmBuffer.data = NULL;