diff options
author | Martin Willi <martin@revosec.ch> | 2015-03-23 11:37:27 +0100 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2015-03-23 17:54:03 +0100 |
commit | 42431690e04a8614e759e0a3a3bcd76e30e6207e (patch) | |
tree | 4c473700dffe096c07d8117fb7a0df71fc5be56f /src/libcharon/encoding | |
parent | 8a7dbf3c2a0a4e8a4a503b630dbad0d46ae25756 (diff) | |
download | strongswan-42431690e04a8614e759e0a3a3bcd76e30e6207e.tar.bz2 strongswan-42431690e04a8614e759e0a3a3bcd76e30e6207e.tar.xz |
diffie-hellman: Add a bool return value to get_my_public_value()
Diffstat (limited to 'src/libcharon/encoding')
-rw-r--r-- | src/libcharon/encoding/payloads/ke_payload.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/libcharon/encoding/payloads/ke_payload.c b/src/libcharon/encoding/payloads/ke_payload.c index 7f3c4e400..c2599a682 100644 --- a/src/libcharon/encoding/payloads/ke_payload.c +++ b/src/libcharon/encoding/payloads/ke_payload.c @@ -320,9 +320,15 @@ ke_payload_t *ke_payload_create(payload_type_t type) ke_payload_t *ke_payload_create_from_diffie_hellman(payload_type_t type, diffie_hellman_t *dh) { - private_ke_payload_t *this = (private_ke_payload_t*)ke_payload_create(type); + private_ke_payload_t *this; + chunk_t value; - dh->get_my_public_value(dh, &this->key_exchange_data); + if (!dh->get_my_public_value(dh, &value)) + { + return NULL; + } + this = (private_ke_payload_t*)ke_payload_create(type); + this->key_exchange_data = value; this->dh_group_number = dh->get_dh_group(dh); this->payload_length += this->key_exchange_data.len; |