summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/mpeg2ts
diff options
context:
space:
mode:
authorRobert Shih <robertshih@google.com>2015-04-29 17:57:09 -0700
committerRobert Shih <robertshih@google.com>2015-04-29 18:03:14 -0700
commit9ae62202b2bb19cc870361af7edd8e43f823d372 (patch)
tree94c8b4b0cbb2d25934a59d6b33289c56a94f4868 /media/libstagefright/mpeg2ts
parentf105b28e94c50802cab61ec4cdf4986e9dd3c097 (diff)
downloadframeworks_av-9ae62202b2bb19cc870361af7edd8e43f823d372.zip
frameworks_av-9ae62202b2bb19cc870361af7edd8e43f823d372.tar.gz
frameworks_av-9ae62202b2bb19cc870361af7edd8e43f823d372.tar.bz2
MPEG2PSExtractor: check number of bits left before skipping
Bug: 18752034 Change-Id: Ie185ebac8324b4fd6dbb68d7cc53124dfe97cbc2
Diffstat (limited to 'media/libstagefright/mpeg2ts')
-rw-r--r--media/libstagefright/mpeg2ts/MPEG2PSExtractor.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/media/libstagefright/mpeg2ts/MPEG2PSExtractor.cpp b/media/libstagefright/mpeg2ts/MPEG2PSExtractor.cpp
index 85859f7..6496d67 100644
--- a/media/libstagefright/mpeg2ts/MPEG2PSExtractor.cpp
+++ b/media/libstagefright/mpeg2ts/MPEG2PSExtractor.cpp
@@ -464,6 +464,10 @@ ssize_t MPEG2PSExtractor::dequeuePES() {
optional_bytes_remaining -= 3;
}
+ if (br.numBitsLeft() < optional_bytes_remaining * 8) {
+ return ERROR_MALFORMED;
+ }
+
br.skipBits(optional_bytes_remaining * 8);
// ES data follows.