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

Commit 25d3eb57 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix a potential integer overflow in MediaBuffer"

parents 5fd6ad72 9b248b87
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -59,9 +59,11 @@ MediaBuffer::MediaBuffer(size_t size)
#ifndef NO_IMEMORY
    } else {
        ALOGV("creating memoryDealer");
        sp<MemoryDealer> memoryDealer =
                new MemoryDealer(size + sizeof(SharedControl), "MediaBuffer");
        mMemory = memoryDealer->allocate(size + sizeof(SharedControl));
        size_t newSize = 0;
        if (!__builtin_add_overflow(size, sizeof(SharedControl), &newSize)) {
            sp<MemoryDealer> memoryDealer = new MemoryDealer(newSize, "MediaBuffer");
            mMemory = memoryDealer->allocate(newSize);
        }
        if (mMemory == NULL) {
            ALOGW("Failed to allocate shared memory, trying regular allocation!");
            mData = malloc(size);