CssmKey &outKey, SSDatabase &inSSDatabase,
uint32 inKeyAttr, const CssmData *inKeyLabel)
{
+// The analyzer doesn't know what to do with the naked creation of an item
+#ifndef __clang_analyzer__
SSKey* sskey = new SSKey(session, inKeyHandle, outKey, inSSDatabase, inKeyAttr,
inKeyLabel);
(void) sskey; // Compiler thinks this variable isn't used, but we want the side effects of creation. Tell the compiler it's okay.
secinfo("SecAccessReference", "made a new reference sskey with handle %d [%ld]", sskey->keyHandle(), sskey->keyReference());
+#endif
}
SSKey &
SSCSPDLSession::didChangeKeyAcl(SecurityServer::ClientSession &clientSession,
KeyHandle keyHandle, CSSM_ACL_AUTHORIZATION_TAG tag)
{
+ StLock<Mutex> __(mKeyDeletionMutex); // The key can't be deleted while we're poking at it, on pain of crashing
+
SSKey *theKey = NULL;
{