about summary refs log tree commit diff
path: root/login/programs/pt_chown.c
diff options
context:
space:
mode:
Diffstat (limited to 'login/programs/pt_chown.c')
-rw-r--r--login/programs/pt_chown.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/login/programs/pt_chown.c b/login/programs/pt_chown.c
index e8d4716996..4f67af7d37 100644
--- a/login/programs/pt_chown.c
+++ b/login/programs/pt_chown.c
@@ -23,6 +23,7 @@
 #include <grp.h>
 #include <libintl.h>
 #include <locale.h>
+#include <signal.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -148,6 +149,11 @@ main (int argc, char *argv[])
   uid_t euid = geteuid ();
   uid_t uid = getuid ();
   int remaining;
+  sigset_t signalset;
+
+  /* Clear any signal mask from the parent process.  */
+  sigemptyset (&signalset);
+  sigprocmask (SIG_SETMASK, &signalset, NULL);
 
   if (argc == 1 && euid == 0)
     {