summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarco Nelissen <marcone@google.com>2015-04-09 15:26:33 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-04-09 15:26:33 +0000
commit31ffe45a22b72ee5d25bb4932d0525e90dbc19fe (patch)
treed97838f1d697448b4b55c3485761518b3037ac7a
parentb6347ac62b36b4d9578d181ba83bf8e6446298e8 (diff)
parentf5e633989263f03c469d676246fbf003f3bb1acc (diff)
downloadframeworks_av-31ffe45a22b72ee5d25bb4932d0525e90dbc19fe.zip
frameworks_av-31ffe45a22b72ee5d25bb4932d0525e90dbc19fe.tar.gz
frameworks_av-31ffe45a22b72ee5d25bb4932d0525e90dbc19fe.tar.bz2
am f5e63398: am 65b351c9: am 5a5e2f41: am 1c4eddb1: Merge "Fix div zero error in corrupted media file"
* commit 'f5e633989263f03c469d676246fbf003f3bb1acc': Fix div zero error in corrupted media file
-rw-r--r--media/libstagefright/MPEG4Extractor.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/media/libstagefright/MPEG4Extractor.cpp b/media/libstagefright/MPEG4Extractor.cpp
index d0f42cc..910ae32 100644
--- a/media/libstagefright/MPEG4Extractor.cpp
+++ b/media/libstagefright/MPEG4Extractor.cpp
@@ -1168,6 +1168,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
@@ -2635,6 +2640,11 @@ status_t MPEG4Extractor::verifyTrack(Track *track) {
return ERROR_MALFORMED;
}
+ if (track->timescale == 0) {
+ ALOGE("timescale invalid.");
+ return ERROR_MALFORMED;
+ }
+
return OK;
}