From acba7d4e7775b31cc61de8dec4896ec026a8d5cb Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Tue, 25 Jun 2019 13:38:11 +0800 Subject: [PATCH] return ErrKeysDropped when sealer keys were already dropped --- internal/handshake/crypto_setup.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/internal/handshake/crypto_setup.go b/internal/handshake/crypto_setup.go index 1fe6c340f..4de361006 100644 --- a/internal/handshake/crypto_setup.go +++ b/internal/handshake/crypto_setup.go @@ -551,6 +551,9 @@ func (h *cryptoSetup) GetInitialSealer() (LongHeaderSealer, error) { h.mutex.Lock() defer h.mutex.Unlock() + if h.initialSealer == nil { + return nil, ErrKeysDropped + } return h.initialSealer, nil } @@ -559,6 +562,9 @@ func (h *cryptoSetup) GetHandshakeSealer() (LongHeaderSealer, error) { defer h.mutex.Unlock() if h.handshakeSealer == nil { + if h.initialSealer == nil { + return nil, ErrKeysDropped + } return nil, errors.New("CryptoSetup: no sealer with encryption level Handshake") } return h.handshakeSealer, nil