diff options
author | Robert Shih <robertshih@google.com> | 2015-04-29 17:57:09 -0700 |
---|---|---|
committer | Robert Shih <robertshih@google.com> | 2015-04-29 18:03:14 -0700 |
commit | 9ae62202b2bb19cc870361af7edd8e43f823d372 (patch) | |
tree | 94c8b4b0cbb2d25934a59d6b33289c56a94f4868 /media/libstagefright/mpeg2ts | |
parent | f105b28e94c50802cab61ec4cdf4986e9dd3c097 (diff) | |
download | frameworks_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.cpp | 4 |
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. |