X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/e3d460c9de4426da6c630c3ae3f46173a99f82d8..7e6b461318c8a779d91381531435a68ee4e8b6ed:/OSX/libsecurity_cdsa_client/lib/securestorage.cpp diff --git a/OSX/libsecurity_cdsa_client/lib/securestorage.cpp b/OSX/libsecurity_cdsa_client/lib/securestorage.cpp index 40b1c0ed..676a1ad2 100644 --- a/OSX/libsecurity_cdsa_client/lib/securestorage.cpp +++ b/OSX/libsecurity_cdsa_client/lib/securestorage.cpp @@ -46,6 +46,7 @@ try } catch (...) { + return; // Prevent re-throw of exception [function-try-block] } Allocator &CSPDLImpl::allocator() const @@ -129,8 +130,16 @@ SSDbImpl::open() DbImpl::open(); } -SSDbUniqueRecord +DbUniqueRecord SSDbImpl::insert(CSSM_DB_RECORDTYPE recordType, + const CSSM_DB_RECORD_ATTRIBUTE_DATA *attributes, + const CSSM_DATA *data) +{ + return DbImpl::insert(recordType, attributes, data); +} + +SSDbUniqueRecord +SSDbImpl::ssInsert(CSSM_DB_RECORDTYPE recordType, const CSSM_DB_RECORD_ATTRIBUTE_DATA *attributes, const CSSM_DATA *data, const CSSM_RESOURCE_CONTROL_CONTEXT *rc) @@ -148,7 +157,7 @@ SSDbImpl::insert(CSSM_DB_RECORDTYPE recordType, const CSSM_ACCESS_CREDENTIALS *cred = rc ? rc->AccessCred : NULL; try { - return insert(recordType, attributes, data, group, cred); + SSDbUniqueRecord ssdbur = ssInsert(recordType, attributes, data, group, cred); if (autoCommit) { // autoCommit was on so commit now that we are done and turn @@ -157,6 +166,7 @@ SSDbImpl::insert(CSSM_DB_RECORDTYPE recordType, CSSM_DL_PassThrough(dldbh, CSSM_APPLEFILEDL_TOGGLE_AUTOCOMMIT, reinterpret_cast(autoCommit), NULL); } + return ssdbur; } catch(...) { @@ -171,13 +181,10 @@ SSDbImpl::insert(CSSM_DB_RECORDTYPE recordType, } throw; } - - // keep the compiler happy -- this path is NEVER taken - CssmError::throwMe(0); } SSDbUniqueRecord -SSDbImpl::insert(CSSM_DB_RECORDTYPE recordType, +SSDbImpl::ssInsert(CSSM_DB_RECORDTYPE recordType, const CSSM_DB_RECORD_ATTRIBUTE_DATA *attributes, const CSSM_DATA *data, const SSGroup &group, const CSSM_ACCESS_CREDENTIALS *cred)