From 70861686d3005de91b45d38e5b16fd3132a4a872 Mon Sep 17 00:00:00 2001 From: Josh Bleecher Snyder Date: Tue, 15 Dec 2020 15:02:13 -0800 Subject: device: fix races from changing private_key Access keypair.sendNonce atomically. Eliminate one unnecessary initialization to zero. Mutate handshake.lastSentHandshake with the mutex held. Co-authored-by: David Anderson Signed-off-by: Josh Bleecher Snyder --- device/send.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'device/send.go') diff --git a/device/send.go b/device/send.go index 6b21708..bc51fa6 100644 --- a/device/send.go +++ b/device/send.go @@ -403,7 +403,7 @@ NextPacket: // check validity of newest key pair keypair = peer.keypairs.Current() - if keypair != nil && keypair.sendNonce < RejectAfterMessages { + if keypair != nil && atomic.LoadUint64(&keypair.sendNonce) < RejectAfterMessages { if time.Since(keypair.created) < RejectAfterTime { break } -- cgit v1.2.3-59-g8ed1b