testing_common.c: avoid side-effects of tor_assert

This commit is contained in:
Tom van der Woerdt 2015-03-08 19:20:56 +01:00 committed by Nick Mathewson
parent a7f75b2056
commit d39ede7f20
1 changed files with 5 additions and 2 deletions

View File

@ -165,18 +165,21 @@ static crypto_pk_t *pregen_keys[5] = {NULL, NULL, NULL, NULL, NULL};
crypto_pk_t *
pk_generate(int idx)
{
int res;
#ifdef CACHE_GENERATED_KEYS
tor_assert(idx < N_PREGEN_KEYS);
if (! pregen_keys[idx]) {
pregen_keys[idx] = crypto_pk_new();
tor_assert(!crypto_pk_generate_key(pregen_keys[idx]));
res = crypto_pk_generate_key(pregen_keys[idx]);
tor_assert(!res);
}
return crypto_pk_dup_key(pregen_keys[idx]);
#else
crypto_pk_t *result;
(void) idx;
result = crypto_pk_new();
tor_assert(!crypto_pk_generate_key(result));
res = crypto_pk_generate_key(result);
tor_assert(!res);
return result;
#endif
}