diff options
Diffstat (limited to 'media/libstagefright/MPEG4Extractor.cpp')
-rw-r--r-- | media/libstagefright/MPEG4Extractor.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/media/libstagefright/MPEG4Extractor.cpp b/media/libstagefright/MPEG4Extractor.cpp index e09ecc2..66a3793 100644 --- a/media/libstagefright/MPEG4Extractor.cpp +++ b/media/libstagefright/MPEG4Extractor.cpp @@ -1003,6 +1003,9 @@ status_t MPEG4Extractor::parseChunk(off64_t *offset, int depth) { int64_t duration; int32_t samplerate; + if (!mLastTrack) { + return ERROR_MALFORMED; + } if (mLastTrack->meta->findInt64(kKeyDuration, &duration) && mLastTrack->meta->findInt32(kKeySampleRate, &samplerate)) { @@ -1145,7 +1148,7 @@ status_t MPEG4Extractor::parseChunk(off64_t *offset, int depth) { { *offset += chunk_size; - if (chunk_data_size < 4) { + if (chunk_data_size < 4 || mLastTrack == NULL) { return ERROR_MALFORMED; } |