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

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

Merge "Set CLOEXEC on socket inherited from init" am: 4cd03732 am: f00fc848 am: 9f8967f5

parents 9a310e7e 9f8967f5
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -112,6 +112,13 @@ ARpcServer* ARpcServer_newInitUnixDomain(AIBinder* service, const char* name) {
        LOG(ERROR) << "Failed to get fd for the socket:" << name;
        return nullptr;
    }
    // Control socket fds are inherited from init, so they don't have O_CLOEXEC set.
    // But we don't want any child processes to inherit the socket we are running
    // the server on, so attempt to set the flag now.
    if (fcntl(fd, F_SETFD, FD_CLOEXEC) != 0) {
        LOG(WARNING) << "Failed to set CLOEXEC on control socket with name " << name
                     << " error: " << errno;
    }
    if (status_t status = server->setupRawSocketServer(std::move(fd)); status != OK) {
        LOG(ERROR) << "Failed to set up Unix Domain RPC server with name " << name
                   << " error: " << statusToString(status).c_str();