From 682401a17792d2508aca967834acef4c2897b8e4 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Sun, 5 Apr 2020 18:51:15 -0600 Subject: device: use atomic access for unlocked keypair.next Signed-off-by: Jason A. Donenfeld --- device/peer.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'device/peer.go') diff --git a/device/peer.go b/device/peer.go index cb348d5..94182e7 100644 --- a/device/peer.go +++ b/device/peer.go @@ -226,10 +226,10 @@ func (peer *Peer) ZeroAndFlushAll() { keypairs.Lock() device.DeleteKeypair(keypairs.previous) device.DeleteKeypair(keypairs.current) - device.DeleteKeypair(keypairs.next) + device.DeleteKeypair(keypairs.LoadNext()) keypairs.previous = nil keypairs.current = nil - keypairs.next = nil + keypairs.StoreNext(nil) keypairs.Unlock() // clear handshake state @@ -257,7 +257,7 @@ func (peer *Peer) ExpireCurrentKeypairs() { keypairs.current.sendNonce = RejectAfterMessages } if keypairs.next != nil { - keypairs.next.sendNonce = RejectAfterMessages + keypairs.LoadNext().sendNonce = RejectAfterMessages } keypairs.Unlock() } -- cgit v1.2.3-54-g00ecf