aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2017-05-28 18:50:23 -0400
committerRob Austein <sra@hactrn.net>2017-05-28 18:50:23 -0400
commit9e20f2fa42bcd493548bf7764958848ab72d1255 (patch)
tree79772261b4f6d08389eb4a4735a91550ac95b338
parent2caa6c72640877abc5f3572c4d926a23ff672ab1 (diff)
Debug new keystore init code.
-rw-r--r--ks_token.c5
-rw-r--r--ks_volatile.c7
2 files changed, 11 insertions, 1 deletions
diff --git a/ks_token.c b/ks_token.c
index c2ebee2..6172f79 100644
--- a/ks_token.c
+++ b/ks_token.c
@@ -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: