X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/5c19dc3ae3bd8e40a9c028b0deddd50ff337692c..dd5fb164cf5b32c462296bc65e289e100f74b59a:/OSX/libsecurity_cdsa_utils/lib/cuDbUtils.cpp diff --git a/OSX/libsecurity_cdsa_utils/lib/cuDbUtils.cpp b/OSX/libsecurity_cdsa_utils/lib/cuDbUtils.cpp index 9e8f65a0..0a822a4b 100644 --- a/OSX/libsecurity_cdsa_utils/lib/cuDbUtils.cpp +++ b/OSX/libsecurity_cdsa_utils/lib/cuDbUtils.cpp @@ -189,7 +189,7 @@ CSSM_RETURN cuAddCrlToDb( CSSM_DL_DB_HANDLE dlDbHand, CSSM_CL_HANDLE clHand, const CSSM_DATA *crl, - const CSSM_DATA *URI) // optional + const CSSM_DATA *URI) { CSSM_DB_ATTRIBUTE_DATA attrs[MAX_CRL_ATTRS]; CSSM_DB_RECORD_ATTRIBUTE_DATA recordAttrs; @@ -376,7 +376,20 @@ CSSM_RETURN cuAddCrlToDb( attr->NumberOfValues = 1; attr->Value = &nextUpdateData; attr++; - + + /* ensure URI string does not contain NULL */ + attrUri = *URI; + if((attrUri.Length != 0) && + (attrUri.Data[attrUri.Length - 1] == 0)) { + attrUri.Length--; + } + attr->Info.AttributeNameFormat = CSSM_DB_ATTRIBUTE_NAME_AS_STRING; + attr->Info.Label.AttributeName = (char*) "URI"; + attr->Info.AttributeFormat = CSSM_DB_ATTRIBUTE_FORMAT_BLOB; + attr->NumberOfValues = 1; + attr->Value = &attrUri; + attr++; + /* now the optional attributes */ if(crlNumberPresent) { attr->Info.AttributeNameFormat = CSSM_DB_ATTRIBUTE_NAME_AS_STRING; @@ -394,20 +407,6 @@ CSSM_RETURN cuAddCrlToDb( attr->Value = &deltaCrlNumberData; attr++; } - if(URI) { - /* ensure URI string does not contain NULL */ - attrUri = *URI; - if((attrUri.Length != 0) && - (attrUri.Data[attrUri.Length - 1] == 0)) { - attrUri.Length--; - } - attr->Info.AttributeNameFormat = CSSM_DB_ATTRIBUTE_NAME_AS_STRING; - attr->Info.Label.AttributeName = (char*) "URI"; - attr->Info.AttributeFormat = CSSM_DB_ATTRIBUTE_FORMAT_BLOB; - attr->NumberOfValues = 1; - attr->Value = &attrUri; - attr++; - } recordAttrs.DataRecordType = CSSM_DL_DB_RECORD_X509_CRL; recordAttrs.SemanticInformation = 0; recordAttrs.NumberOfAttributes = (uint32)(attr - attrs);