summaryrefslogtreecommitdiffstats
path: root/login-utils
diff options
context:
space:
mode:
authorKarel Zak2017-11-28 14:49:05 +0100
committerKarel Zak2017-11-28 14:49:05 +0100
commitf4b03edb737f5d4991d9ec8816dd2b3ac3da7abf (patch)
treee705f80a4d80aa955b30fdee682991d7c4bbae3e /login-utils
parenteject: remove list_speeds() #ifdef CDROM_SELECT_SPEED protection (diff)
downloadkernel-qcow2-util-linux-f4b03edb737f5d4991d9ec8816dd2b3ac3da7abf.tar.gz
kernel-qcow2-util-linux-f4b03edb737f5d4991d9ec8816dd2b3ac3da7abf.tar.xz
kernel-qcow2-util-linux-f4b03edb737f5d4991d9ec8816dd2b3ac3da7abf.zip
login-utils: use free_getlogindefs_data()
It seems better to deallocate logindefs.conf stuff in long time running (=waiting) processes like login(1) and su(1). Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'login-utils')
-rw-r--r--login-utils/login.c2
-rw-r--r--login-utils/su-common.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/login-utils/login.c b/login-utils/login.c
index ae0d66d0a..cc1400246 100644
--- a/login-utils/login.c
+++ b/login-utils/login.c
@@ -945,6 +945,8 @@ static void fork_session(struct login_context *cxt)
close(0);
close(1);
close(2);
+ free_getlogindefs_data();
+
sa.sa_handler = SIG_IGN;
sigaction(SIGQUIT, &sa, NULL);
sigaction(SIGINT, &sa, NULL);
diff --git a/login-utils/su-common.c b/login-utils/su-common.c
index 0ba6d1953..b1be7c6ef 100644
--- a/login-utils/su-common.c
+++ b/login-utils/su-common.c
@@ -854,6 +854,8 @@ static void create_watching_parent(struct su_context *su)
break;
}
+ /* free unnecessary stuff */
+ free_getlogindefs_data();
/* In the parent watch the child. */