summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/MPEG4Extractor.cpp
diff options
context:
space:
mode:
authorMarco Nelissen <marcone@google.com>2015-10-22 11:05:03 -0700
committerMarco Nelissen <marcone@google.com>2015-10-22 11:05:03 -0700
commit8ee368522ca7df126033a05dc3c430182b4495c9 (patch)
tree61a0e16a237e0f7405cfbef583033cd55cbed37a /media/libstagefright/MPEG4Extractor.cpp
parentb3d9f56313f1838649712297ebc8205c4ec14870 (diff)
downloadframeworks_av-8ee368522ca7df126033a05dc3c430182b4495c9.zip
frameworks_av-8ee368522ca7df126033a05dc3c430182b4495c9.tar.gz
frameworks_av-8ee368522ca7df126033a05dc3c430182b4495c9.tar.bz2
Fix offset adjustment when skipping off-spec meta chunk
Bug: 25172843 Change-Id: Ibbfe4369176f2a367eab5a39fd742f425b017288
Diffstat (limited to 'media/libstagefright/MPEG4Extractor.cpp')
-rwxr-xr-xmedia/libstagefright/MPEG4Extractor.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/media/libstagefright/MPEG4Extractor.cpp b/media/libstagefright/MPEG4Extractor.cpp
index a1af3aa..bfdff38 100755
--- a/media/libstagefright/MPEG4Extractor.cpp
+++ b/media/libstagefright/MPEG4Extractor.cpp
@@ -1776,13 +1776,13 @@ status_t MPEG4Extractor::parseChunk(off64_t *offset, int depth) {
if (!isParsingMetaKeys) {
uint8_t buffer[4];
if (chunk_data_size < (off64_t)sizeof(buffer)) {
- *offset += chunk_size;
+ *offset = stop_offset;
return ERROR_MALFORMED;
}
if (mDataSource->readAt(
data_offset, buffer, 4) < 4) {
- *offset += chunk_size;
+ *offset = stop_offset;
return ERROR_IO;
}
@@ -1793,7 +1793,7 @@ status_t MPEG4Extractor::parseChunk(off64_t *offset, int depth) {
// apparently malformed chunks that don't have flags
// and completely different semantics than what's
// in the MPEG4 specs and skip it.
- *offset += chunk_size;
+ *offset = stop_offset;
return OK;
}
*offset += sizeof(buffer);