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

Commit 876a049f authored by Nick Kralevich's avatar Nick Kralevich
Browse files

BufferHubBuffer.cpp: replace dup() with fcntl(F_DUPFD_CLOEXEC)

Replace calls to dup() with fcntl(F_DUPFD_CLOEXEC). The only difference
between the two is that O_CLOEXEC is set on the newly duped file
descriptor. This helps address file descriptor leaks crossing an exec()
boundary.

Test: compiles and boots
Bug: 120983106
Change-Id: I2f705e0666c5276ad5239da283d5ee91561e8579
parent 7ab76b1c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -181,7 +181,7 @@ int BufferHubBuffer::initWithBufferTraits(const BufferTraits& bufferTraits) {
    }

    // Import the metadata. Dup since hidl_handle owns the fd
    unique_fd ashmemFd(dup(bufferTraits.bufferInfo->data[0]));
    unique_fd ashmemFd(fcntl(bufferTraits.bufferInfo->data[0], F_DUPFD_CLOEXEC, 0));
    mMetadata = BufferHubMetadata::Import(std::move(ashmemFd));

    if (!mMetadata.IsValid()) {