adbd: fix spurious close of uninitialized fd.
forkpty only returns an fd on the master side; trying to keep track of
it on both sides is incorrect.
Bug: http://b/27504427
Change-Id: Ia4a454d8490c77738f9c3350a4236b3d99c8758b
(cherry picked from commit fcb063ce37
)
This commit is contained in:
parent
5767d0dd5a
commit
8238dd8499
1 changed files with 3 additions and 1 deletions
|
@ -284,7 +284,9 @@ bool Subprocess::ForkAndExec(std::string* error) {
|
|||
if (type_ == SubprocessType::kPty) {
|
||||
int fd;
|
||||
pid_ = forkpty(&fd, pts_name, nullptr, nullptr);
|
||||
stdinout_sfd_.Reset(fd);
|
||||
if (pid_ > 0) {
|
||||
stdinout_sfd_.Reset(fd);
|
||||
}
|
||||
} else {
|
||||
if (!CreateSocketpair(&stdinout_sfd_, &child_stdinout_sfd)) {
|
||||
*error = android::base::StringPrintf("failed to create socketpair for stdin/out: %s",
|
||||
|
|
Loading…
Reference in a new issue