summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/OggExtractor.cpp
diff options
context:
space:
mode:
authorMarco Nelissen <marcone@google.com>2015-05-05 11:00:11 -0700
committerMarco Nelissen <marcone@google.com>2015-05-05 11:26:42 -0700
commitfe7186bb1567b5725eb8ce61e3267a1733e90c53 (patch)
tree703678825c2be20acf76c3c13e9824aec7a0cdae /media/libstagefright/OggExtractor.cpp
parenta627e3df129c4a502368ee861b1e5831ecae174a (diff)
downloadframeworks_av-fe7186bb1567b5725eb8ce61e3267a1733e90c53.zip
frameworks_av-fe7186bb1567b5725eb8ce61e3267a1733e90c53.tar.gz
frameworks_av-fe7186bb1567b5725eb8ce61e3267a1733e90c53.tar.bz2
OggExtractor::verifyHeader: return errors instead of asserting
Bug: 16631522 Change-Id: I619455af64cad04a0f4fd35e52e3f3709efad8b4
Diffstat (limited to 'media/libstagefright/OggExtractor.cpp')
-rw-r--r--media/libstagefright/OggExtractor.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/media/libstagefright/OggExtractor.cpp b/media/libstagefright/OggExtractor.cpp
index d577034..4297549 100644
--- a/media/libstagefright/OggExtractor.cpp
+++ b/media/libstagefright/OggExtractor.cpp
@@ -753,7 +753,9 @@ status_t MyVorbisExtractor::verifyHeader(
oggpack_buffer bits;
oggpack_readinit(&bits, &ref);
- CHECK_EQ(oggpack_read(&bits, 8), type);
+ if (oggpack_read(&bits, 8) != type) {
+ return ERROR_MALFORMED;
+ }
for (size_t i = 0; i < 6; ++i) {
oggpack_read(&bits, 8); // skip 'vorbis'
}
@@ -761,7 +763,9 @@ status_t MyVorbisExtractor::verifyHeader(
switch (type) {
case 1:
{
- CHECK_EQ(0, _vorbis_unpack_info(&mVi, &bits));
+ if (0 != _vorbis_unpack_info(&mVi, &bits)) {
+ return ERROR_MALFORMED;
+ }
mMeta->setData(kKeyVorbisInfo, 0, data, size);
mMeta->setInt32(kKeySampleRate, mVi.rate);