diff options
author | Marco Nelissen <marcone@google.com> | 2015-10-22 11:05:03 -0700 |
---|---|---|
committer | Marco Nelissen <marcone@google.com> | 2015-10-22 11:05:03 -0700 |
commit | 8ee368522ca7df126033a05dc3c430182b4495c9 (patch) | |
tree | 61a0e16a237e0f7405cfbef583033cd55cbed37a /media/libstagefright/MPEG4Extractor.cpp | |
parent | b3d9f56313f1838649712297ebc8205c4ec14870 (diff) | |
download | frameworks_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-x | media/libstagefright/MPEG4Extractor.cpp | 6 |
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); |