diff options
author | Andreas Steffen <andreas.steffen@strongswan.org> | 2015-01-31 02:16:15 +0100 |
---|---|---|
committer | Andreas Steffen <andreas.steffen@strongswan.org> | 2015-02-25 21:45:34 +0100 |
commit | c2aca9eed28dc25aedbd8d2864f2e5f1e9b95b2e (patch) | |
tree | bf583232a63f13bedea03f3eecf08ee1f2a80cc5 /src/libstrongswan/plugins/bliss/bliss_signature.c | |
parent | d0d85683563e9f296e47e1c1859f49065ca49890 (diff) | |
download | strongswan-c2aca9eed28dc25aedbd8d2864f2e5f1e9b95b2e.tar.bz2 strongswan-c2aca9eed28dc25aedbd8d2864f2e5f1e9b95b2e.tar.xz |
Implemented improved BLISS-B signature algorithm
Diffstat (limited to 'src/libstrongswan/plugins/bliss/bliss_signature.c')
-rw-r--r-- | src/libstrongswan/plugins/bliss/bliss_signature.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/libstrongswan/plugins/bliss/bliss_signature.c b/src/libstrongswan/plugins/bliss/bliss_signature.c index ca385ee41..e603da399 100644 --- a/src/libstrongswan/plugins/bliss/bliss_signature.c +++ b/src/libstrongswan/plugins/bliss/bliss_signature.c @@ -177,6 +177,12 @@ bliss_signature_t *bliss_signature_create_from_data(bliss_param_set_t *set, return NULL; } + if (encoding.len == 0) + { + DBG1(DBG_LIB, "zero length BLISS signature"); + return NULL; + } + INIT(this, .public = { .get_encoding = _get_encoding, @@ -198,6 +204,7 @@ bliss_signature_t *bliss_signature_create_from_data(bliss_param_set_t *set, !packer->read_bits(packer, &z1_low, 8) || !coder->decode(coder, &z1, &z2)) { + DBG1(DBG_LIB, "truncated BLISS signature encoding of z1/z2"); coder->destroy(coder); packer->destroy(packer); destroy(this); @@ -213,6 +220,7 @@ bliss_signature_t *bliss_signature_create_from_data(bliss_param_set_t *set, { if (!packer->read_bits(packer, &value, set->n_bits)) { + DBG1(DBG_LIB, "truncated BLISS signature encoding of c_indices"); packer->destroy(packer); destroy(this); return NULL; |