From db7d12313a59cd5b727192a287195e2cdfa40049 Mon Sep 17 00:00:00 2001 From: Alberto Donizetti Date: Mon, 30 Apr 2018 11:18:29 +0200 Subject: [PATCH] ssh/agent: remove len check in Unlock Unlock compares the length of the passphrase with the given one before calling subtle.ConstantTimeCompare. This is redundant, since ConstantTimeCompare already perform a lengths check before doing anything. Remove the check from Unlock. Updates golang/go#25173 Change-Id: Ib5fec3a94392bddf2996f5c6bf5a414529e86f2f Reviewed-on: https://go-review.googlesource.com/110068 Run-TryBot: Alberto Donizetti Reviewed-by: Han-Wen Nienhuys --- ssh/agent/keyring.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ssh/agent/keyring.go b/ssh/agent/keyring.go index a6ba06a..1a51632 100644 --- a/ssh/agent/keyring.go +++ b/ssh/agent/keyring.go @@ -102,7 +102,7 @@ func (r *keyring) Unlock(passphrase []byte) error { if !r.locked { return errors.New("agent: not locked") } - if len(passphrase) != len(r.passphrase) || 1 != subtle.ConstantTimeCompare(passphrase, r.passphrase) { + if 1 != subtle.ConstantTimeCompare(passphrase, r.passphrase) { return fmt.Errorf("agent: incorrect passphrase") }