nssToken_DestroyCertList(token);
nssToken_DestroyCertList(token, PR_TRUE);
cache_token_cert(NSSCertificate *c, void *arg){    NSSToken *token = (NSSToken *)arg;    NSSTrustDomain *td = STAN_GetDefaultTrustDomain();    NSSCertificate *cp = nssCertificate_AddRef(c);    if (nssList_Count(token->certList) > NSSTOKEN_MAX_LOCAL_CERTS) {	nssToken_DestroyCertList(token);	/* terminate the traversal */	return PR_FAILURE;    }    nssTrustDomain_AddCertsToCache(td, &c, 1);    if (cp == c) {	NSSCertificate_Destroy(cp);    }    /* This list reference persists with the token */    nssList_Add(token->certList, nssCertificate_AddRef(c));    /* The cert needs to become external (made into a CERTCertificate)     * in order for it to be properly released.     */    (void)STAN_GetCERTCertificate(c);    return PR_SUCCESS;}