File login-close-tty-before-vhangup.patch of Package util-linux

From 2e7035646eb85851171cc2e989bfa858a4f00cd4 Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak@redhat.com>
Date: Thu, 12 Jul 2012 16:33:52 +0200
Subject: login: close tty before vhangup()
Git-commit: 2e7035646eb85851171cc2e989bfa858a4f00cd4
Patch-mainline: v2.22-rc1
References: bnc#778842

Let's close all tty file descriptors before vhangup() call.

References: https://lkml.org/lkml/2012/6/5/145
Signed-off-by: Karel Zak <kzak@redhat.com>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 login-utils/login.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/login-utils/login.c b/login-utils/login.c
index fe13d8d..c0cc00a 100644
--- a/login-utils/login.c
+++ b/login-utils/login.c
@@ -409,6 +409,14 @@ static void init_tty(struct login_context *cxt)
 	/* Kill processes left on this tty */
 	tcsetattr(0, TCSAFLUSH, &ttt);
 
+	/*
+	 * Let's close file decriptors before vhangup
+	 * https://lkml.org/lkml/2012/6/5/145
+	 */
+	close(STDIN_FILENO);
+	close(STDOUT_FILENO);
+	close(STDERR_FILENO);
+
 	signal(SIGHUP, SIG_IGN);	/* so vhangup() wont kill us */
 	vhangup();
 	signal(SIGHUP, SIG_DFL);
-- 
1.7.12

openSUSE Build Service is sponsored by