From: Lennart Poettering Date: Mon, 23 Dec 2013 18:15:43 +0000 (+0100) Subject: machinectl: fix success check when getting pty from within container X-Git-Tag: v209~684 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=6261f11fc3d0a8b63c5afa5313d96607a008b54e machinectl: fix success check when getting pty from within container --- diff --git a/src/machine/machinectl.c b/src/machine/machinectl.c index ab9060ab9..b3a70188a 100644 --- a/src/machine/machinectl.c +++ b/src/machine/machinectl.c @@ -452,10 +452,7 @@ static int openpt_in_namespace(pid_t pid, int flags) { pair[1] = -1; r = wait_for_terminate(child, &si); - if (r < 0 || si.si_code != CLD_EXITED || si.si_status != EXIT_SUCCESS || master < 0) { - - if (master >= 0) - close_nointr_nofail(master); + if (r < 0 || si.si_code != CLD_EXITED || si.si_status != EXIT_SUCCESS) { return r < 0 ? r : -EIO; } @@ -479,6 +476,9 @@ static int openpt_in_namespace(pid_t pid, int flags) { master = fds[0]; } + if (master < 0) + return -EIO; + return master; }