summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/MPEG4Extractor.cpp
diff options
context:
space:
mode:
authorJessica Wagantall <jwagantall@cyngn.com>2016-03-07 18:12:20 -0800
committerJessica Wagantall <jwagantall@cyngn.com>2016-03-07 18:12:20 -0800
commitedd6ca3e244dda4687da86bc614a2bb709b3a963 (patch)
tree4efd0f4664f7f5e88434844c2eb70cdff4aab5d1 /media/libstagefright/MPEG4Extractor.cpp
parent808632f7bf0a897fb55cc38170ad6c1b2fd86ba2 (diff)
parent38f1da3889188fb3beeaf7fdfeb92b4444c9fb4b (diff)
downloadframeworks_av-edd6ca3e244dda4687da86bc614a2bb709b3a963.zip
frameworks_av-edd6ca3e244dda4687da86bc614a2bb709b3a963.tar.gz
frameworks_av-edd6ca3e244dda4687da86bc614a2bb709b3a963.tar.bz2
Merge tag 'android-6.0.1_r17' into HEAD
Android 6.0.1 release 17 Ticket: CYNGNOS-1854
Diffstat (limited to 'media/libstagefright/MPEG4Extractor.cpp')
-rwxr-xr-xmedia/libstagefright/MPEG4Extractor.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/media/libstagefright/MPEG4Extractor.cpp b/media/libstagefright/MPEG4Extractor.cpp
index 3baf6b6..c7c238e 100755
--- a/media/libstagefright/MPEG4Extractor.cpp
+++ b/media/libstagefright/MPEG4Extractor.cpp
@@ -4575,7 +4575,15 @@ status_t MPEG4Source::fragmentedRead(
continue;
}
- CHECK(dstOffset + 4 <= mBuffer->size());
+ if (dstOffset > SIZE_MAX - 4 ||
+ dstOffset + 4 > SIZE_MAX - nalLength ||
+ dstOffset + 4 + nalLength > mBuffer->size()) {
+ ALOGE("b/26365349 : %zu %zu", dstOffset, mBuffer->size());
+ android_errorWriteLog(0x534e4554, "26365349");
+ mBuffer->release();
+ mBuffer = NULL;
+ return ERROR_MALFORMED;
+ }
dstData[dstOffset++] = 0;
dstData[dstOffset++] = 0;