diff options
author | Karel Zak | 2013-10-02 14:43:17 +0200 |
---|---|---|
committer | Karel Zak | 2013-10-02 14:43:17 +0200 |
commit | 0e8edc9f9ef398e0b0d3104a44c75722b66e8f96 (patch) | |
tree | 8576916be42b1a1f8ee26e9b9e71c34a5e96c4b3 /login-utils/su-common.c | |
parent | fdisk: fix possible memleak [coverity scan] (diff) | |
download | kernel-qcow2-util-linux-0e8edc9f9ef398e0b0d3104a44c75722b66e8f96.tar.gz kernel-qcow2-util-linux-0e8edc9f9ef398e0b0d3104a44c75722b66e8f96.tar.xz kernel-qcow2-util-linux-0e8edc9f9ef398e0b0d3104a44c75722b66e8f96.zip |
su: fix caught_signal logic and initialize oldact [coverity scan]
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'login-utils/su-common.c')
-rw-r--r-- | login-utils/su-common.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/login-utils/su-common.c b/login-utils/su-common.c index 858af0176..7f1b505bf 100644 --- a/login-utils/su-common.c +++ b/login-utils/su-common.c @@ -288,6 +288,8 @@ create_watching_parent (void) else _pam_session_opened = 1; + memset(oldact, 0, sizeof(oldact)); + child = fork (); if (child == (pid_t) -1) { @@ -408,6 +410,9 @@ create_watching_parent (void) sigaction(SIGQUIT, &oldact[2], NULL); break; default: + /* just in case that signal stuff initialization failed and + * caught_signal = true */ + caught_signal = SIGKILL; break; } kill(0, caught_signal); |