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

Commit e31a7a4c authored by Josh Gao's avatar Josh Gao
Browse files

adb: fix fd leak when shell fails to create a thread.

Bug: http://b/29565233
Change-Id: Ia59c6dbe5ac033425c11739579e85cbcad1170d1
parent cd5d7376
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -756,13 +756,14 @@ int StartSubprocess(const char* name, const char* terminal_type,
        return ReportError(protocol, error);
    }

    int local_socket = subprocess->ReleaseLocalSocket();
    D("subprocess creation successful: local_socket_fd=%d, pid=%d", local_socket, subprocess->pid());
    unique_fd local_socket(subprocess->ReleaseLocalSocket());
    D("subprocess creation successful: local_socket_fd=%d, pid=%d", local_socket.get(),
      subprocess->pid());

    if (!Subprocess::StartThread(std::move(subprocess), &error)) {
        LOG(ERROR) << "failed to start subprocess management thread: " << error;
        return ReportError(protocol, error);
    }

    return local_socket;
    return local_socket.release();
}