summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/id3
diff options
context:
space:
mode:
authorWei Jia <wjia@google.com>2015-08-16 17:41:50 -0700
committerWei Jia <wjia@google.com>2015-08-17 13:51:26 +0000
commitd2ebc0b9e147f9406db20ec4df61da50e3614ee4 (patch)
treeec78e3b3e29c9104836ac8fcd845d40b60aa1789 /media/libstagefright/id3
parent120f259d0de4dc048a2b9007c0f19b8808e59021 (diff)
downloadframeworks_av-d2ebc0b9e147f9406db20ec4df61da50e3614ee4.zip
frameworks_av-d2ebc0b9e147f9406db20ec4df61da50e3614ee4.tar.gz
frameworks_av-d2ebc0b9e147f9406db20ec4df61da50e3614ee4.tar.bz2
libstagefright: check remaining data size before parsing it.
Bug: 23248776 Change-Id: I45cf53e58e4375afcf260b122264c968ec0ff6c8 (cherry picked from commit 3bf1e0fdf27e1188b8d3574ed073595b8eacb114)
Diffstat (limited to 'media/libstagefright/id3')
-rw-r--r--media/libstagefright/id3/ID3.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/media/libstagefright/id3/ID3.cpp b/media/libstagefright/id3/ID3.cpp
index d34f1a7..c3fb9bd 100644
--- a/media/libstagefright/id3/ID3.cpp
+++ b/media/libstagefright/id3/ID3.cpp
@@ -550,6 +550,9 @@ void ID3::Iterator::getstring(String8 *id, bool otherdata) const {
return;
}
+ if (mFrameSize < getHeaderLength() + 1) {
+ return;
+ }
size_t n = mFrameSize - getHeaderLength() - 1;
if (otherdata) {
// skip past the encoding, language, and the 0 separator