if (rv) goto loser;
SECU_PrintCertificateRequest(FILE *out, SECItem *der, char *m, int level){    PRArenaPool *arena = PORT_NewArena(DER_DEFAULT_CHUNKSIZE);    CERTCertificateRequest *cr;    int rv = SEC_ERROR_NO_MEMORY;    if (!arena) 	return rv;    /* Decode certificate request */    cr = PORT_ArenaZNew(arena, CERTCertificateRequest);    if (!cr)	goto loser;    cr->arena = arena;    rv = SEC_QuickDERDecodeItem(arena, cr,                            SEC_ASN1_GET(CERT_CertificateRequestTemplate), der);    if (rv) 	goto loser;    /* Pretty print it out */    SECU_Indent(out, level); fprintf(out, "%s:\n", m);    SECU_PrintInteger(out, &cr->version, "Version", level+1);    SECU_PrintName(out, &cr->subject, "Subject", level+1);    rv = secu_PrintSubjectPublicKeyInfo(out, arena, &cr->subjectPublicKeyInfo,			      "Subject Public Key Info", level+1);    if (rv) 	goto loser;    if (cr->attributes)	secu_PrintAny(out, cr->attributes[0], "Attributes", level+1);loser:    PORT_FreeArena(arena, PR_FALSE);    return rv;}