]> git.saurik.com Git - apple/security.git/blobdiff - OSX/libsecurity_codesigning/lib/cskernel.cpp
Security-59754.80.3.tar.gz
[apple/security.git] / OSX / libsecurity_codesigning / lib / cskernel.cpp
index c4d579f731a48efe28b7e233fce1fe790fad6782..0eca965383132d2c11e4b03818b37dd714c093b7 100644 (file)
@@ -76,6 +76,7 @@ KernelStaticCode::KernelStaticCode()
 //
 SecCode *KernelCode::locateGuest(CFDictionaryRef attributes)
 {
+#if TARGET_OS_OSX
        CFNumberRef pidNumber = NULL;
        CFDataRef auditData = NULL;
        cfscan(attributes, "{%O=%NO}", kSecGuestAttributePid, &pidNumber);
@@ -105,11 +106,14 @@ SecCode *KernelCode::locateGuest(CFDictionaryRef attributes)
                                        MacOSError::throwMe(errSecCSInvalidAttributeValues);
 
                        try {
-                               diskRep = new PidDiskRep(pid, infoPlist);
+                               diskRep = new PidDiskRep(pid, audit, infoPlist);
                        } catch (...) { }
        }
        
        return (new ProcessCode(pid, audit, diskRep))->retain();
+#else
+    MacOSError::throwMe(errSecCSUnimplemented);
+#endif
 }
 
 
@@ -171,7 +175,7 @@ SecCodeStatus KernelCode::getGuestStatus(SecCode *iguest)
 {
        if (ProcessCode *guest = dynamic_cast<ProcessCode *>(iguest)) {
                uint32_t pFlags;
-               csops(guest, CS_OPS_STATUS, &pFlags);
+               csops(guest, CS_OPS_STATUS, &pFlags, sizeof(pFlags));
                secinfo("kcode", "guest %p(%d) kernel status 0x%x", guest, guest->pid(), pFlags);
                return pFlags;
        } else