/* * Free the fieldId-specific data referred to by fieldValue->Data. */ void DecodedCert::freeCertFieldData( const CssmOid &fieldId, CssmOwnedData &fieldValue) { if((fieldValue.data() == NULL) || (fieldValue.length() == 0)) { CssmError::throwMe(CSSM_ERRCODE_INVALID_FIELD_POINTER); } const oidToFieldFuncs *fieldFuncs = oidToFields(fieldId); if(fieldFuncs->freeFcn != NULL) { /* optional - simple cases handled below */ fieldFuncs->freeFcn(fieldValue); } fieldValue.reset(); fieldValue.release(); }