Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8ee36852 authored by Marco Nelissen's avatar Marco Nelissen
Browse files

Fix offset adjustment when skipping off-spec meta chunk

Bug: 25172843
Change-Id: Ibbfe4369176f2a367eab5a39fd742f425b017288
parent b3d9f563
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -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);