diff options
Diffstat (limited to 'src/libstrongswan/crypto')
-rw-r--r-- | src/libstrongswan/crypto/crypto_tester.c | 9 | ||||
-rw-r--r-- | src/libstrongswan/crypto/prfs/mac_prf.c | 3 | ||||
-rw-r--r-- | src/libstrongswan/crypto/prfs/prf.h | 4 |
3 files changed, 11 insertions, 5 deletions
diff --git a/src/libstrongswan/crypto/crypto_tester.c b/src/libstrongswan/crypto/crypto_tester.c index 469059371..8398bc80b 100644 --- a/src/libstrongswan/crypto/crypto_tester.c +++ b/src/libstrongswan/crypto/crypto_tester.c @@ -847,7 +847,10 @@ METHOD(crypto_tester_t, test_prf, bool, /* allocated bytes */ seed = chunk_create(vector->seed, vector->len); - prf->allocate_bytes(prf, seed, &out); + if (!prf->allocate_bytes(prf, seed, &out)) + { + failed = TRUE; + } if (out.len != prf->get_block_size(prf)) { failed = TRUE; @@ -878,8 +881,8 @@ METHOD(crypto_tester_t, test_prf, bool, { prf->set_key(prf, key); } - prf->allocate_bytes(prf, chunk_create(seed.ptr, 1), NULL); - if (!prf->get_bytes(prf, chunk_create(seed.ptr + 1, 1), NULL) || + if (!prf->allocate_bytes(prf, chunk_create(seed.ptr, 1), NULL) || + !prf->get_bytes(prf, chunk_create(seed.ptr + 1, 1), NULL) || !prf->get_bytes(prf, chunk_skip(seed, 2), out.ptr)) { failed = TRUE; diff --git a/src/libstrongswan/crypto/prfs/mac_prf.c b/src/libstrongswan/crypto/prfs/mac_prf.c index 489797fb7..cd39586af 100644 --- a/src/libstrongswan/crypto/prfs/mac_prf.c +++ b/src/libstrongswan/crypto/prfs/mac_prf.c @@ -42,7 +42,7 @@ METHOD(prf_t, get_bytes, bool, return TRUE; } -METHOD(prf_t, allocate_bytes, void, +METHOD(prf_t, allocate_bytes, bool, private_prf_t *this, chunk_t seed, chunk_t *chunk) { if (!chunk) @@ -54,6 +54,7 @@ METHOD(prf_t, allocate_bytes, void, *chunk = chunk_alloc(this->mac->get_mac_size(this->mac)); this->mac->get_mac(this->mac, seed, chunk->ptr); } + return TRUE; } METHOD(prf_t, get_block_size, size_t, diff --git a/src/libstrongswan/crypto/prfs/prf.h b/src/libstrongswan/crypto/prfs/prf.h index 8b98b41aa..05380b5f2 100644 --- a/src/libstrongswan/crypto/prfs/prf.h +++ b/src/libstrongswan/crypto/prfs/prf.h @@ -87,8 +87,10 @@ struct prf_t { * * @param seed a chunk containing the seed for the next bytes * @param chunk chunk which will hold generated bytes + * @return TRUE if bytes allocated and generated successfully */ - void (*allocate_bytes) (prf_t *this, chunk_t seed, chunk_t *chunk); + __attribute__((warn_unused_result)) + bool (*allocate_bytes) (prf_t *this, chunk_t seed, chunk_t *chunk); /** * Get the block size of this prf_t object. |