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

Commit ed6e907b authored by Dan Stoza's avatar Dan Stoza Committed by Gerrit Code Review
Browse files

Merge "Close Fence FDs in error cases of Surface and GraphicBufferMapper"

parents 08a7c792 c7263fb4
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -267,6 +267,9 @@ int Surface::cancelBuffer(android_native_buffer_t* buffer,
    Mutex::Autolock lock(mMutex);
    int i = getSlotFromBufferLocked(buffer);
    if (i < 0) {
        if (fenceFd >= 0) {
            close(fenceFd);
        }
        return i;
    }
    sp<Fence> fence(fenceFd >= 0 ? new Fence(fenceFd) : Fence::NO_FENCE);
@@ -308,6 +311,9 @@ int Surface::queueBuffer(android_native_buffer_t* buffer, int fenceFd) {
    }
    int i = getSlotFromBufferLocked(buffer);
    if (i < 0) {
        if (fenceFd >= 0) {
            close(fenceFd);
        }
        return i;
    }

+3 −0
Original line number Diff line number Diff line
@@ -164,6 +164,9 @@ status_t GraphicBufferMapper::lockAsyncYCbCr(buffer_handle_t handle,
                bounds.left, bounds.top, bounds.width(), bounds.height(),
                ycbcr);
    } else {
        if (fenceFd >= 0) {
            close(fenceFd);
        }
        return -EINVAL; // do not log failure
    }