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

Commit ef185e94 authored by Chong Zhang's avatar Chong Zhang
Browse files

skip parsing of 'hdlr' atom when parsing QT meta

bug: 20244718
Change-Id: Ifb8a6d450a2f1ad2833301f492dc0ccfe1cd34d4
parent 7233234a
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -745,7 +745,8 @@ static bool underQTMetaPath(const Vector<uint32_t> &path, int32_t depth) {
            && path[1] == FOURCC('m', 'e', 't', 'a')
            && (depth == 2
            || (depth == 3
                    && (path[2] == FOURCC('i', 'l', 's', 't')
                    && (path[2] == FOURCC('h', 'd', 'l', 'r')
                    ||  path[2] == FOURCC('i', 'l', 's', 't')
                    ||  path[2] == FOURCC('k', 'e', 'y', 's'))));
}

@@ -1914,6 +1915,10 @@ status_t MPEG4Extractor::parseChunk(off64_t *offset, int depth) {
        {
            *offset += chunk_size;

            if (underQTMetaPath(mPath, 3)) {
                break;
            }

            uint32_t buffer;
            if (mDataSource->readAt(
                        data_offset + 8, &buffer, 4) < 4) {