rv = SEC_ASN1DecodeItem(arena, &tmpItem, SEC_IA5StringTemplate,
rv = SEC_QuickDERDecodeItem(arena, &tmpItem, SEC_IA5StringTemplate,
CERT_FindNSStringExtension(CERTCertificate *cert, int oidtag){    SECItem wrapperItem, tmpItem = {siBuffer,0};    SECStatus rv;    PRArenaPool *arena = NULL;    char *retstring = NULL;        wrapperItem.data = NULL;    tmpItem.data = NULL;        arena = PORT_NewArena(DER_DEFAULT_CHUNKSIZE);        if ( ! arena ) {	goto loser;    }        rv = cert_FindExtension(cert->extensions, oidtag,			       &wrapperItem);    if ( rv != SECSuccess ) {	goto loser;    }    rv = SEC_ASN1DecodeItem(arena, &tmpItem, SEC_IA5StringTemplate, 			    &wrapperItem);    if ( rv != SECSuccess ) {	goto loser;    }    retstring = (char *)PORT_Alloc(tmpItem.len + 1 );    if ( retstring == NULL ) {	goto loser;    }        PORT_Memcpy(retstring, tmpItem.data, tmpItem.len);    retstring[tmpItem.len] = '\0';loser:    if ( arena ) {	PORT_FreeArena(arena, PR_FALSE);    }        if ( wrapperItem.data ) {	PORT_Free(wrapperItem.data);    }    return(retstring);}