nssCKFWHash_Iterate(fwToken->sessions, nss_ckfwtoken_session_iterator, (void *)NULL); nssCKFWHash_Destroy(fwToken->sessions);  if (fwToken->sessionObjectHash) { nssCKFWHash_Destroy(fwToken->sessionObjectHash); } if (fwToken->mdObjectHash) { nssCKFWHash_Destroy(fwToken->mdObjectHash); }
nssCKFWToken_Destroy(  NSSCKFWToken *fwToken){  CK_RV error = CKR_OK;#ifdef NSSDEBUG  error = nssCKFWToken_verifyPointer(fwToken);  if( CKR_OK != error ) {    return error;  }#endif /* NSSDEBUG */  (void)nssCKFWMutex_Destroy(fwToken->mutex);    if( (void *)NULL != (void *)fwToken->mdToken->Invalidate ) {    fwToken->mdToken->Invalidate(fwToken->mdToken, fwToken,      fwToken->mdInstance, fwToken->fwInstance);  }  nssCKFWSlot_ClearToken(fwToken->fwSlot);  #ifdef DEBUG  error = token_remove_pointer(fwToken);#endif /* DEBUG */  (void)NSSArena_Destroy(fwToken->arena);  return error;}