From 4f1e7be51f401a5374c0def2df0773abc924b03c Mon Sep 17 00:00:00 2001 From: Adam Langley Date: Wed, 26 Oct 2016 13:51:44 -0700 Subject: [PATCH] crypto/x509: use Certificate.Equals and CertPool.contains. By using these utility functions, the code can be made a little shorter. Thanks to Omar Shafie for pointing this out in https://golang.org/cl/27393/. Change-Id: I33fd97cf7d60a31d0844ec16c12bba530dcc6f6d Reviewed-on: https://go-review.googlesource.com/32120 Run-TryBot: Adam Langley TryBot-Result: Gobot Gobot Reviewed-by: Brad Fitzpatrick --- src/crypto/x509/cert_pool.go | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/crypto/x509/cert_pool.go b/src/crypto/x509/cert_pool.go index 8508cbacd7..fea33df379 100644 --- a/src/crypto/x509/cert_pool.go +++ b/src/crypto/x509/cert_pool.go @@ -4,10 +4,7 @@ package x509 -import ( - "bytes" - "encoding/pem" -) +import "encoding/pem" // CertPool is a set of certificates. type CertPool struct { @@ -67,7 +64,7 @@ func (s *CertPool) contains(cert *Certificate) bool { candidates := s.byName[string(cert.RawSubject)] for _, c := range candidates { - if bytes.Equal(cert.Raw, s.certs[c].Raw) { + if s.certs[c].Equal(cert) { return true } } @@ -82,10 +79,8 @@ func (s *CertPool) AddCert(cert *Certificate) { } // Check that the certificate isn't being added twice. - for _, c := range s.certs { - if c.Equal(cert) { - return - } + if s.contains(cert) { + return } n := len(s.certs) -- 2.48.1