Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 16 Oct 2010 22:48:48 +0000 (UTC)
From:      Pawel Jakub Dawidek <pjd@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r213938 - head/sbin/hastd
Message-ID:  <201010162248.o9GMmmWY093511@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: pjd
Date: Sat Oct 16 22:48:48 2010
New Revision: 213938
URL: http://svn.freebsd.org/changeset/base/213938

Log:
  Clear signal mask before executing a hook.
  
  Submitted by:	Mikolaj Golub <to.my.trociny@gmail.com>
  MFC after:	3 days

Modified:
  head/sbin/hastd/hooks.c

Modified: head/sbin/hastd/hooks.c
==============================================================================
--- head/sbin/hastd/hooks.c	Sat Oct 16 20:43:05 2010	(r213937)
+++ head/sbin/hastd/hooks.c	Sat Oct 16 22:48:48 2010	(r213938)
@@ -354,6 +354,7 @@ hook_execv(const char *path, va_list ap)
 	struct hookproc *hp;
 	char *args[64];
 	unsigned int ii;
+	sigset_t mask;
 	pid_t pid;
 
 	assert(hooks_initialized);
@@ -382,6 +383,8 @@ hook_execv(const char *path, va_list ap)
 		return;
 	case 0:		/* Child. */
 		descriptors();
+		PJDLOG_VERIFY(sigemptyset(&mask) == 0);
+		PJDLOG_VERIFY(sigprocmask(SIG_SETMASK, &mask, NULL) == 0);
 		execv(path, args);
 		pjdlog_errno(LOG_ERR, "Unable to execute %s", path);
 		exit(EX_SOFTWARE);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201010162248.o9GMmmWY093511>