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

Commit c2f0c73b authored by Marco Nelissen's avatar Marco Nelissen
Browse files

Don't CHECK when buffer is too large

Bug: 31647370
Test: ran CTS test with and without patch
Change-Id: I4e3a37aabc9387432671c1c0c469241142612cc4
parent b47a5ab1
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -2987,7 +2987,11 @@ bool OMXCodec::drainInputBuffer(BufferInfo *info) {
            static const uint8_t kNALStartCode[4] =
                    { 0x00, 0x00, 0x00, 0x01 };

            CHECK(info->mSize >= specific->mSize + 4);
            if (info->mSize < specific->mSize + 4) {
                ALOGE("info size %zu < specific size %zu", info->mSize, specific->mSize + 4);
                setState(ERROR);
                return false;
            }

            size += 4;

@@ -2995,7 +2999,11 @@ bool OMXCodec::drainInputBuffer(BufferInfo *info) {
            memcpy((uint8_t *)info->mData + 4,
                   specific->mData, specific->mSize);
        } else {
            CHECK(info->mSize >= specific->mSize);
            if (info->mSize < specific->mSize) {
                ALOGE("info size %zu < specific size %zu", info->mSize, specific->mSize);
                setState(ERROR);
                return false;
            }
            memcpy(info->mData, specific->mData, specific->mSize);
        }