]> git.saurik.com Git - apple/securityd.git/blobdiff - src/process.cpp
securityd-55199.3.tar.gz
[apple/securityd.git] / src / process.cpp
index 868a082df7d0a42bafd77e1119821b0d81dbbb7b..606e9498df462f995b6acac660ee41c9d05a6a61 100644 (file)
@@ -42,6 +42,8 @@
 Process::Process(TaskPort taskPort,    const ClientSetupInfo *info, const CommonCriteria::AuditToken &audit)
  :  mTaskPort(taskPort), mByteFlipped(false), mPid(audit.pid()), mUid(audit.euid()), mGid(audit.egid())
 {
 Process::Process(TaskPort taskPort,    const ClientSetupInfo *info, const CommonCriteria::AuditToken &audit)
  :  mTaskPort(taskPort), mByteFlipped(false), mPid(audit.pid()), mUid(audit.euid()), mGid(audit.egid())
 {
+       StLock<Mutex> _(*this);
+       
        // set parent session
        parent(Session::find(audit.sessionId(), true));
 
        // set parent session
        parent(Session::find(audit.sessionId(), true));
 
@@ -76,6 +78,7 @@ Process::Process(TaskPort taskPort,   const ClientSetupInfo *info, const CommonCri
 //
 void Process::reset(TaskPort taskPort, const ClientSetupInfo *info, const CommonCriteria::AuditToken &audit)
 {
 //
 void Process::reset(TaskPort taskPort, const ClientSetupInfo *info, const CommonCriteria::AuditToken &audit)
 {
+       StLock<Mutex> _(*this);
        if (taskPort != mTaskPort) {
                secdebug("SS", "Process %p(%d) reset mismatch (tp %d-%d)",
                        this, pid(), taskPort.port(), mTaskPort.port());
        if (taskPort != mTaskPort) {
                secdebug("SS", "Process %p(%d) reset mismatch (tp %d-%d)",
                        this, pid(), taskPort.port(), mTaskPort.port());