diff options
author | Marco Nelissen <marcone@google.com> | 2015-04-09 15:00:25 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2015-04-09 15:00:25 +0000 |
commit | 5a5e2f411caee5017ef6f2b54c031621a8269c27 (patch) | |
tree | 3a7e891f83f7a67bdcf73a0e58eca5f21d9020ed /media | |
parent | e849af8737d9302a7b24fa2f0083cde01c9cd4fc (diff) | |
parent | 1c4eddb16146855723d5854078ad0f6884f3f3f2 (diff) | |
download | frameworks_av-5a5e2f411caee5017ef6f2b54c031621a8269c27.zip frameworks_av-5a5e2f411caee5017ef6f2b54c031621a8269c27.tar.gz frameworks_av-5a5e2f411caee5017ef6f2b54c031621a8269c27.tar.bz2 |
am 1c4eddb1: Merge "Fix div zero error in corrupted media file"
* commit '1c4eddb16146855723d5854078ad0f6884f3f3f2':
Fix div zero error in corrupted media file
Diffstat (limited to 'media')
-rw-r--r-- | media/libstagefright/MPEG4Extractor.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/media/libstagefright/MPEG4Extractor.cpp b/media/libstagefright/MPEG4Extractor.cpp index 8bf7f63..3dd8b11 100644 --- a/media/libstagefright/MPEG4Extractor.cpp +++ b/media/libstagefright/MPEG4Extractor.cpp @@ -1172,6 +1172,11 @@ status_t MPEG4Extractor::parseChunk(off64_t *offset, int depth) { return ERROR_IO; } + if (!timescale) { + ALOGE("timescale should not be ZERO."); + return ERROR_MALFORMED; + } + mLastTrack->timescale = ntohl(timescale); // 14496-12 says all ones means indeterminate, but some files seem to use @@ -2636,6 +2641,11 @@ status_t MPEG4Extractor::verifyTrack(Track *track) { return ERROR_MALFORMED; } + if (track->timescale == 0) { + ALOGE("timescale invalid."); + return ERROR_MALFORMED; + } + return OK; } |