diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2017-05-24 03:35:35 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2017-05-30 18:07:28 +0200 |
commit | fd1e80d9f4bad1805d801fc4501d86807c93a9ec (patch) | |
tree | a2337856c5f12a093f08bf39717227921f6bfa36 /src/peer.c | |
parent | 499d37da4f1602ca83315efb8741347d02899c7b (diff) |
noise: precompute static-static ECDH operation
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'src/peer.c')
-rw-r--r-- | src/peer.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -34,7 +34,10 @@ struct wireguard_peer *peer_create(struct wireguard_device *wg, const u8 public_ peer->internal_id = atomic64_inc_return(&peer_counter); peer->device = wg; cookie_init(&peer->latest_cookie); - noise_handshake_init(&peer->handshake, &wg->static_identity, public_key, preshared_key, peer); + if (!noise_handshake_init(&peer->handshake, &wg->static_identity, public_key, preshared_key, peer)) { + kfree(peer); + return NULL; + } cookie_checker_precompute_peer_keys(peer); mutex_init(&peer->keypairs.keypair_update_lock); INIT_WORK(&peer->transmit_handshake_work, packet_send_queued_handshakes); |