summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/mpeg2ts
diff options
context:
space:
mode:
authorJaesung Chung <jaesung@google.com>2015-06-09 02:56:30 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-06-09 02:56:31 +0000
commit9b132a7bdde8388f124e4db5ff54a88a93f8cdb6 (patch)
tree6d648e882a71d5c227c90f65e842204ff88c1370 /media/libstagefright/mpeg2ts
parentca097142ba4664858bc29bb538bcfcf5ea03ebe7 (diff)
parent8a1fa1ebc2375c9dcaca2b78918c6740fff2ca74 (diff)
downloadframeworks_av-9b132a7bdde8388f124e4db5ff54a88a93f8cdb6.zip
frameworks_av-9b132a7bdde8388f124e4db5ff54a88a93f8cdb6.tar.gz
frameworks_av-9b132a7bdde8388f124e4db5ff54a88a93f8cdb6.tar.bz2
Merge "stagefright: check the validity of the range of adaptation field" into mnc-dev
Diffstat (limited to 'media/libstagefright/mpeg2ts')
-rw-r--r--media/libstagefright/mpeg2ts/ATSParser.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/media/libstagefright/mpeg2ts/ATSParser.cpp b/media/libstagefright/mpeg2ts/ATSParser.cpp
index 53423ec..db429f6 100644
--- a/media/libstagefright/mpeg2ts/ATSParser.cpp
+++ b/media/libstagefright/mpeg2ts/ATSParser.cpp
@@ -1397,6 +1397,11 @@ status_t ATSParser::parseAdaptationField(ABitReader *br, unsigned PID) {
unsigned adaptation_field_length = br->getBits(8);
if (adaptation_field_length > 0) {
+ if (adaptation_field_length * 8 > br->numBitsLeft()) {
+ ALOGV("Adaptation field should be included in a single TS packet.");
+ return ERROR_MALFORMED;
+ }
+
unsigned discontinuity_indicator = br->getBits(1);
if (discontinuity_indicator) {