From patchwork Sat Aug 26 13:44:48 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christian Brauner X-Patchwork-Id: 22366 Received: (qmail 62588 invoked by alias); 26 Aug 2017 14:21:26 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 62453 invoked by uid 89); 26 Aug 2017 14:21:25 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.6 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_LAZY_DOMAIN_SECURITY, RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 spammy= X-HELO: mx1.mailbox.org From: Christian Brauner To: libc-alpha@sourceware.org, stgraber@stgraber.org, serge@hallyn.com Cc: Christian Brauner Subject: [PATCH 1/2] openpty: close slave pty fd on error Date: Sat, 26 Aug 2017 15:44:48 +0200 Message-Id: <20170826134449.26527-1-christian.brauner@ubuntu.com> When openpty() failed only the master fd was closed so far. Let's close the slave fd as well. Signed-off-by: Christian Brauner --- ChangeLog | 4 ++++ login/openpty.c | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index bc1cf94dc3..bc5fb8e27f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2017-08-26 Christian Brauner + + * login/openpty.c (openpty): Close slave pty file descriptor on error. + 2017-08-25 H.J. Lu * sysdeps/x86/cpu-features.h [__ASSEMBLER__] diff --git a/login/openpty.c b/login/openpty.c index 41ab0483e2..8fbc66a3ef 100644 --- a/login/openpty.c +++ b/login/openpty.c @@ -92,7 +92,7 @@ openpty (int *amaster, int *aslave, char *name, char _buf[512]; #endif char *buf = _buf; - int master, slave; + int master, slave = -1; master = getpt (); if (master == -1) @@ -135,6 +135,8 @@ openpty (int *amaster, int *aslave, char *name, fail: close (master); + if (slave != -1) + close(slave); return -1; } libutil_hidden_def (openpty)