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

Commit 45060d62 authored by Marco Nelissen's avatar Marco Nelissen
Browse files

Don't allow using or allocating a buffer after the first state transition

Bug: 35467458
Change-Id: Ia76c8cec8ad2abb95ca29b2a89075f7acab4b174
parent 13c77f4f
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -574,6 +574,12 @@ status_t OMXNodeInstance::useBuffer(
    // We do not support metadata mode changes past buffer allocation
    mSailed = true;

    if (!mSailed) {
        ALOGE("b/35467458");
        android_errorWriteLog(0x534e4554, "35467458");
        return BAD_VALUE;
    }

    // metadata buffers are not connected cross process
    BufferMeta *buffer_meta;
    bool isMeta = mUsingMetadata[portIndex];
@@ -837,6 +843,12 @@ status_t OMXNodeInstance::allocateBuffer(
    // We do not support metadata mode changes past buffer allocation
    mSailed = true;

    if (!mSailed) {
        ALOGE("b/35467458");
        android_errorWriteLog(0x534e4554, "35467458");
        return BAD_VALUE;
    }

    BufferMeta *buffer_meta = new BufferMeta(size, portIndex);

    OMX_BUFFERHEADERTYPE *header;
@@ -880,6 +892,12 @@ status_t OMXNodeInstance::allocateBufferWithBackup(
    // We do not support metadata mode changes past buffer allocation
    mSailed = true;

    if (!mSailed) {
        ALOGE("b/35467458");
        android_errorWriteLog(0x534e4554, "35467458");
        return BAD_VALUE;
    }

    // metadata buffers are not connected cross process
    bool isMeta = mUsingMetadata[portIndex];
    bool copy = !(crossProcess && isMeta);