rv = ReadDBEntry(handle, &entry->common, &dbkey, &dbentry, tmparena);
rv = ReadDBEntry(handle, &entry->common, &dbkey, &dbentry, NULL);
ReadDBCertEntry(NSSLOWCERTCertDBHandle *handle, SECItem *certKey){    PRArenaPool *arena = NULL;    PRArenaPool *tmparena = NULL;    certDBEntryCert *entry;    SECItem dbkey;    SECItem dbentry;    SECStatus rv;        arena = PORT_NewArena(DER_DEFAULT_CHUNKSIZE);    if ( arena == NULL ) {	PORT_SetError(SEC_ERROR_NO_MEMORY);	goto loser;    }    tmparena = PORT_NewArena(DER_DEFAULT_CHUNKSIZE);    if ( tmparena == NULL ) {	PORT_SetError(SEC_ERROR_NO_MEMORY);	goto loser;    }        entry = (certDBEntryCert *)PORT_ArenaAlloc(arena, sizeof(certDBEntryCert));    if ( entry == NULL ) {	PORT_SetError(SEC_ERROR_NO_MEMORY);	goto loser;    }    entry->common.arena = arena;    entry->common.type = certDBEntryTypeCert;    rv = EncodeDBCertKey(certKey, tmparena, &dbkey);    if ( rv != SECSuccess ) {	goto loser;    }        rv = ReadDBEntry(handle, &entry->common, &dbkey, &dbentry, tmparena);    if ( rv == SECFailure ) {	goto loser;    }    rv = DecodeDBCertEntry(entry, &dbentry);    if ( rv != SECSuccess ) {	goto loser;    }        PORT_FreeArena(tmparena, PR_FALSE);    return(entry);    loser:    if ( tmparena ) {	PORT_FreeArena(tmparena, PR_FALSE);    }    if ( arena ) {	PORT_FreeArena(arena, PR_FALSE);    }        return(NULL);}