if (!returned)
PORT_Assert(subject); if (!returned || !subject)
SECStatus IssuerCache_Create(CRLIssuerCache** returned,                             CERTCertificate* issuer, SECItem* dp){    SECStatus rv = SECSuccess;    CRLIssuerCache* cache = NULL;    PORT_Assert(returned);    if (!returned)    {        return SECFailure;    }    cache = (CRLIssuerCache*) PR_Malloc(sizeof(CRLIssuerCache));    if (!cache)    {        return SECFailure;    }    memset(cache, 0, sizeof(CRLIssuerCache));    cache->refcount = 0;#if 0    /* XCRL */    cache->lock = NSSRWLock_New(NSS_RWLOCK_RANK_NONE, NULL);    if (!cache->lock)    {        rv = SECFailure;    }    if (SECSuccess == rv && issuer)    {        cache->issuer = CERT_DupCertificate(issuer);        if (!cache->issuer)        {            rv = SECFailure;        }    }#endif    if (SECSuccess != rv)    {        return IssuerCache_Destroy(cache);    }    *returned = cache;    return SECSuccess;}