diff options
author | Rob Austein <sra@hactrn.net> | 2017-05-28 18:50:23 -0400 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2017-05-28 18:50:23 -0400 |
commit | 9e20f2fa42bcd493548bf7764958848ab72d1255 (patch) | |
tree | 79772261b4f6d08389eb4a4735a91550ac95b338 | |
parent | 2caa6c72640877abc5f3572c4d926a23ff672ab1 (diff) |
Debug new keystore init code.
-rw-r--r-- | ks_token.c | 5 | ||||
-rw-r--r-- | ks_volatile.c | 7 |
2 files changed, 11 insertions, 1 deletions
@@ -338,6 +338,11 @@ static hal_error_t ks_token_init(hal_ks_t *ks, const int alloc) unsigned b; + if ((block = hal_ks_cache_pick_lru(ks)) == NULL) { + err = HAL_ERROR_IMPOSSIBLE; + goto done; + } + memset(block, 0xFF, sizeof(*block)); block->header.block_type = HAL_KS_BLOCK_TYPE_PIN; diff --git a/ks_volatile.c b/ks_volatile.c index 42d1ba1..c1ea72d 100644 --- a/ks_volatile.c +++ b/ks_volatile.c @@ -205,13 +205,18 @@ static hal_error_t ks_volatile_init(hal_ks_t *ks, const int alloc) db->keys = mem; } - if ((err = hal_ks_init_common(ks)) != HAL_OK) + if (db->keys == NULL) { + err = HAL_ERROR_IMPOSSIBLE; goto done; + } for (unsigned b = 0; b < db->ks.size; b++) if ((err = hal_ks_block_erase(ks, b)) != HAL_OK) goto done; + if ((err = hal_ks_init_common(ks)) != HAL_OK) + goto done; + err = HAL_OK; done: |