From 2014ced9341df98890d7f380bb7748cf3150af6a Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Sat, 6 May 2017 23:44:15 +0800 Subject: [PATCH] fix data race in client crypto setup --- handshake/crypto_setup_client.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/handshake/crypto_setup_client.go b/handshake/crypto_setup_client.go index c81fe9977..67ca967a8 100644 --- a/handshake/crypto_setup_client.go +++ b/handshake/crypto_setup_client.go @@ -323,6 +323,9 @@ func (h *cryptoSetupClient) GetSealer() (protocol.EncryptionLevel, Sealer) { } func (h *cryptoSetupClient) GetSealerWithEncryptionLevel(encLevel protocol.EncryptionLevel) (Sealer, error) { + h.mutex.RLock() + defer h.mutex.RUnlock() + switch encLevel { case protocol.EncryptionUnencrypted: return h.sealUnencrypted, nil