aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstrongswan/crypto
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstrongswan/crypto')
-rw-r--r--src/libstrongswan/crypto/crypto_tester.c9
-rw-r--r--src/libstrongswan/crypto/prfs/mac_prf.c3
-rw-r--r--src/libstrongswan/crypto/prfs/prf.h4
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.