Projects
Browse Source     Search     Timeline     Wiki

Changeset 23024

Show
Ignore:
Timestamp:
01/26/07 15:45:13 (23 months ago)
Author:
zarzycki@…
Message:

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

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/launchd/src/launchd_core_logic.c

    r23022 r23024  
    405405{ 
    406406        if (j->p) { 
    407                 kill(j->p, SIGTERM); 
     407                job_assumes(j, kill(j->p, SIGTERM) != -1); 
    408408        } 
    409409} 
     
    19761976                uid_t i_uid = kp[i].kp_eproc.e_pcred.p_ruid; 
    19771977                uid_t i_svuid = kp[i].kp_eproc.e_pcred.p_svuid; 
     1978                pid_t i_pid = kp[i].kp_proc.p_pid; 
    19781979 
    19791980                if (i_euid != u && i_uid != u && i_svuid != u) { 
     
    19821983 
    19831984                job_log(j, LOG_ERR, "PID %u \"%s\" has no account to back it! Real/effective/saved UIDs: %u/%u/%u", 
    1984                                 kp[i].kp_proc.p_pid, kp[i].kp_proc.p_comm, i_uid, i_euid, i_svuid); 
     1985                                i_pid, kp[i].kp_proc.p_comm, i_uid, i_euid, i_svuid); 
     1986 
     1987                /* Ask the accountless process to exit. */ 
     1988                job_assumes(j, kill(i_pid, SIGTERM) != -1); 
    19851989        } 
    19861990