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

Commit e9d6cf20 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "mpeg4_enc_fuzzer: Bug Fix" am: abbe1a79 am: 295539c1 am: f672ea21

Original change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1505331

Change-Id: I681e6df48a5c6fa0b12ab2020b9cf8fea3cac619
parents 6ee57d42 f672ea21
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -137,7 +137,8 @@ void Codec::deInitEncoder() {
void Codec::encodeFrames(const uint8_t *data, size_t size) {
    size_t inputBufferSize = (mFrameWidth * mFrameHeight * 3) / 2;
    size_t outputBufferSize = inputBufferSize * 2;
    uint8_t outputBuffer[outputBufferSize];
    uint8_t *outputBuffer = new uint8_t[outputBufferSize];
    uint8_t *inputBuffer = new uint8_t[inputBufferSize];

    // Get VOL header.
    int32_t sizeOutputBuffer = outputBufferSize;
@@ -146,7 +147,6 @@ void Codec::encodeFrames(const uint8_t *data, size_t size) {
    size_t numFrame = 0;
    while (size > 0) {
        size_t bytesConsumed = std::min(size, inputBufferSize);
        uint8_t inputBuffer[inputBufferSize];
        memcpy(inputBuffer, data, bytesConsumed);
        if (bytesConsumed < sizeof(inputBuffer)) {
            memset(inputBuffer + bytesConsumed, data[0], sizeof(inputBuffer) - bytesConsumed);
@@ -170,6 +170,8 @@ void Codec::encodeFrames(const uint8_t *data, size_t size) {
        data += bytesConsumed;
        size -= bytesConsumed;
    }
    delete[] inputBuffer;
    delete[] outputBuffer;
}

extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {