X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/ecaf5866106b8f08bdb7c1b4f489ef4dfd01278a..0d4552ce43ff8bf2e8666a9c5c44c3590eb117a8:/OSX/libsecurity_keychain/lib/Item.cpp diff --git a/OSX/libsecurity_keychain/lib/Item.cpp b/OSX/libsecurity_keychain/lib/Item.cpp index 2ec227ef..4d4dc772 100644 --- a/OSX/libsecurity_keychain/lib/Item.cpp +++ b/OSX/libsecurity_keychain/lib/Item.cpp @@ -46,9 +46,7 @@ #include #include -#include - -#define SENDACCESSNOTIFICATIONS 1 +#include //%%% schema indexes should be defined in Schema.h #define _kSecAppleSharePasswordItemClass 'ashp' @@ -640,7 +638,7 @@ bool ItemImpl::checkIntegrityFromDictionary(AclBearer& aclBearer, DbAttributes* return false; // No MAC, no integrity. } - throw cssme; + throw; } secnotice("integrity", "***** INVALID ITEM"); @@ -1415,23 +1413,12 @@ ItemImpl::getContent(SecItemClass *itemClass, SecKeychainAttributeList *attrList { getLocalContent(attrList, length, outData); } - - // Inform anyone interested that we are doing this -#if SENDACCESSNOTIFICATIONS - if (outData) - { - secinfo("kcnotify", "ItemImpl::getContent(%p, %p, %p, %p) retrieved content", - itemClass, attrList, length, outData); - - KCEventNotifier::PostKeychainEvent(kSecDataAccessEvent, mKeychain, this); - } -#endif } void ItemImpl::freeContent(SecKeychainAttributeList *attrList, void *data) { - Allocator &allocator = Allocator::standard(); // @@@ This might not match the one used originally + Allocator &allocator = Allocator::standard(Allocator::sensitive); // @@@ This might not match the one used originally if (data) allocator.free(data); @@ -1539,7 +1526,7 @@ ItemImpl::getAttributesAndData(SecKeychainAttributeInfo *info, SecItemClass *ite theList->count = 0; theList->attr = NULL; } else { - SecKeychainAttribute *attr=reinterpret_cast(malloc(sizeof(SecKeychainAttribute)*attrCount)); + SecKeychainAttribute *attr=reinterpret_cast(calloc(attrCount, sizeof(SecKeychainAttribute))); theList->count=attrCount; theList->attr=attr; @@ -1573,13 +1560,6 @@ ItemImpl::getAttributesAndData(SecKeychainAttributeInfo *info, SecItemClass *ite if (length) *length=(UInt32)itemData.length(); itemData.Length=0; - -#if SENDACCESSNOTIFICATIONS - secinfo("kcnotify", "ItemImpl::getAttributesAndData(%p, %p, %p, %p, %p) retrieved data", - info, itemClass, attrList, length, outData); - - KCEventNotifier::PostKeychainEvent(kSecDataAccessEvent, mKeychain, this); -#endif } } @@ -1587,7 +1567,7 @@ ItemImpl::getAttributesAndData(SecKeychainAttributeInfo *info, SecItemClass *ite void ItemImpl::freeAttributesAndData(SecKeychainAttributeList *attrList, void *data) { - Allocator &allocator = Allocator::standard(); // @@@ This might not match the one used originally + Allocator &allocator = Allocator::standard(Allocator::sensitive); // @@@ This might not match the one used originally if (data) allocator.free(data); @@ -1740,13 +1720,6 @@ ItemImpl::getData(CssmDataContainer& outData) } getContent(NULL, &outData); - -#if SENDACCESSNOTIFICATIONS - secinfo("kcnotify", "ItemImpl::getData retrieved data"); - - //%%% be done elsewhere, but here is good for now - KCEventNotifier::PostKeychainEvent(kSecDataAccessEvent, mKeychain, this); -#endif } SSGroup @@ -1833,7 +1806,7 @@ ItemImpl::getContent(DbAttributes *dbAttributes, CssmDataContainer *itemData) } } catch(CssmError cssme) { secnotice("integrity", "error while checking integrity, denying access: %s", cssme.what()); - throw cssme; + throw; } SSDbUniqueRecordImpl* impl = dynamic_cast(&(*dbUniqueRecord()));