[launchd-changes] [23334] trunk/launchd/src/launchd_core_logic.c
source_changes at macosforge.org
source_changes at macosforge.org
Tue Aug 14 09:30:49 PDT 2007
Revision: 23334
http://trac.macosforge.org/projects/launchd/changeset/23334
Author: zarzycki at apple.com
Date: 2007-08-14 09:30:48 -0700 (Tue, 14 Aug 2007)
Log Message:
-----------
More sanity checks.
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-08-14 16:06:10 UTC (rev 23333)
+++ trunk/launchd/src/launchd_core_logic.c 2007-08-14 16:30:48 UTC (rev 23334)
@@ -985,11 +985,20 @@
if (!jobmgr_assumes(jm, anonpid != 0)) {
return NULL;
}
+
+ if (!jobmgr_assumes(jm, anonpid < 100000)) {
+ /* The kernel current defines PID_MAX to be 99999, but that define isn't exported */
+ return NULL;
+ }
if (!jobmgr_assumes(jm, sysctl(mib, 4, &kp, &len, NULL, 0) != -1)) {
return NULL;
}
+ if (!jobmgr_assumes(jm, kp.kp_proc.p_comm[0] != '\0')) {
+ return NULL;
+ }
+
if (kp.kp_proc.p_stat == SZOMB) {
jobmgr_log(jm, LOG_DEBUG, "Tried to create an anonymous job for zombie PID: %u", anonpid);
zombie = "zombie";
@@ -1001,6 +1010,7 @@
break;
case 1:
if (getpid() != 1) {
+ /* we cannot possibly find a parent job_t that is useful in this function */
break;
}
/* fall through */
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/launchd-changes/attachments/20070814/a05782d4/attachment.html
More information about the launchd-changes
mailing list