ANSC_STATUS AnscAsn1Free ( ANSC_HANDLE hThisObject ) { PANSC_ASN1_OBJECT pBaseObject = (PANSC_ASN1_OBJECT)hThisObject; if( pBaseObject != NULL) { if( pBaseObject->Name != NULL) { AnscFreeMemory(pBaseObject->Name); } if( pBaseObject->ClassName != NULL) { AnscFreeMemory(pBaseObject->ClassName); } AttrListRemoveAllAttributes(&pBaseObject->sAttrList); AnscFreeMemory(pBaseObject); } return ANSC_STATUS_SUCCESS; }
ANSC_STATUS AnscAsn1CertificateRequestFree ( ANSC_HANDLE hThisObject ) { PANSC_ASN1_CERTIFICATEREQUEST pBaseObject = (PANSC_ASN1_CERTIFICATEREQUEST)hThisObject; PANSC_ASN1_OBJECT pChild = NULL; if( pBaseObject != NULL) { /* free the signed data part */ if( pBaseObject->pSignedData != NULL && pBaseObject->uSignedLength > 0) { AnscFreeMemory(pBaseObject->pSignedData); } /* * Remove the children here, from the end; */ pBaseObject->RemoveAllChildren(pBaseObject,TRUE); /* * Remove the extra child; */ pChild = pBaseObject->pExtraChild; if( pChild != NULL) { pChild->AsnFree(pChild); } if( pBaseObject->Name != NULL) { AnscFreeMemory(pBaseObject->Name); } if( pBaseObject->ClassName != NULL) { AnscFreeMemory(pBaseObject->ClassName); } AttrListRemoveAllAttributes(&pBaseObject->sAttrList); AnscFreeMemory(pBaseObject); } return ANSC_STATUS_SUCCESS; }