X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/b1ab9ed8d0e0f1c3b66d7daa8fd5564444c56195..e3d3b979fd185d8303f28a937baa53a187fb8c7d:/libsecurity_cdsa_utilities/lib/objectacl.cpp diff --git a/libsecurity_cdsa_utilities/lib/objectacl.cpp b/libsecurity_cdsa_utilities/lib/objectacl.cpp index 3fc1d6bd..23e0b9b7 100644 --- a/libsecurity_cdsa_utilities/lib/objectacl.cpp +++ b/libsecurity_cdsa_utilities/lib/objectacl.cpp @@ -172,7 +172,9 @@ void ObjectAcl::validateOwner(AclAuthorization authorizationHint, void ObjectAcl::validateOwner(AclValidationContext &ctx) { - instantiateAcl(); + instantiateAcl(); + + ctx.init(this, mOwner.subject); if (mOwner.validate(ctx)) return; CssmError::throwMe(CSSM_ERRCODE_OPERATION_AUTH_DENIED); @@ -187,7 +189,7 @@ void ObjectAcl::exportBlob(CssmData &publicBlob, CssmData &privateBlob) { instantiateAcl(); Writer::Counter pubSize, privSize; - Endian entryCount = mEntries.size(); + Endian entryCount = (uint32)mEntries.size(); mOwner.exportBlob(pubSize, privSize); pubSize(entryCount); for (EntryMap::iterator it = begin(); it != end(); it++) @@ -260,14 +262,14 @@ unsigned int ObjectAcl::getRange(const std::string &tag, { if (!tag.empty()) { // tag restriction in effect range = mEntries.equal_range(tag); - uint32 count = mEntries.count(tag); + unsigned int count = (unsigned int)mEntries.count(tag); if (count == 0) CssmError::throwMe(CSSM_ERRCODE_INVALID_ACL_ENTRY_TAG); return count; } else { // try all tags range.first = mEntries.begin(); range.second = mEntries.end(); - return mEntries.size(); + return (unsigned int)mEntries.size(); } }