[launchd-changes] [23024] trunk/launchd/src/launchd_core_logic.c

source_changes at macosforge.org source_changes at macosforge.org
Fri Jan 26 15:45:13 PST 2007


Revision: 23024
          http://trac.macosforge.org/projects/launchd/changeset/23024
Author:   zarzycki at apple.com
Date:     2007-01-26 15:45:13 -0800 (Fri, 26 Jan 2007)

Log Message:
-----------
PIDs shouldn't be running around without user records to back the UIDs assigned to the process.

Modified Paths:
--------------
    trunk/launchd/src/launchd_core_logic.c

Modified: trunk/launchd/src/launchd_core_logic.c
===================================================================
--- trunk/launchd/src/launchd_core_logic.c	2007-01-25 21:46:03 UTC (rev 23023)
+++ trunk/launchd/src/launchd_core_logic.c	2007-01-26 23:45:13 UTC (rev 23024)
@@ -404,7 +404,7 @@
 job_stop(job_t j)
 {
 	if (j->p) {
-		kill(j->p, SIGTERM);
+		job_assumes(j, kill(j->p, SIGTERM) != -1);
 	}
 }
 
@@ -1975,13 +1975,17 @@
 		uid_t i_euid = kp[i].kp_eproc.e_ucred.cr_uid;
 		uid_t i_uid = kp[i].kp_eproc.e_pcred.p_ruid;
 		uid_t i_svuid = kp[i].kp_eproc.e_pcred.p_svuid;
+		pid_t i_pid = kp[i].kp_proc.p_pid;
 
 		if (i_euid != u && i_uid != u && i_svuid != u) {
 			continue;
 		}
 
 		job_log(j, LOG_ERR, "PID %u \"%s\" has no account to back it! Real/effective/saved UIDs: %u/%u/%u",
-				kp[i].kp_proc.p_pid, kp[i].kp_proc.p_comm, i_uid, i_euid, i_svuid);
+				i_pid, kp[i].kp_proc.p_comm, i_uid, i_euid, i_svuid);
+
+		/* Ask the accountless process to exit. */
+		job_assumes(j, kill(i_pid, SIGTERM) != -1);
 	}
 
 out:

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/launchd-changes/attachments/20070126/afff3f4e/attachment.html


More information about the launchd-changes mailing list