From 9298f604f474ef6dcd5fdfb73877d63b1972c29f Mon Sep 17 00:00:00 2001 From: Roland Shoemaker Date: Wed, 13 Apr 2022 11:49:15 -0700 Subject: [PATCH] crypto/x509: add CertPool.Clone Export the previously private method copy as Clone. Fixes #35044 Change-Id: I5403d6a3b9f344c980c1c89a6823e1a49dcda26b Reviewed-on: https://go-review.googlesource.com/c/go/+/400175 Run-TryBot: Roland Shoemaker Auto-Submit: Roland Shoemaker Reviewed-by: Roland Shoemaker Reviewed-by: Damien Neil TryBot-Result: Gopher Robot --- api/next/35044.txt | 1 + src/crypto/x509/cert_pool.go | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 api/next/35044.txt diff --git a/api/next/35044.txt b/api/next/35044.txt new file mode 100644 index 0000000000..0ed6f2e4d0 --- /dev/null +++ b/api/next/35044.txt @@ -0,0 +1 @@ +pkg crypto/x509, method (*CertPool) Clone() *CertPool #35044 \ No newline at end of file diff --git a/src/crypto/x509/cert_pool.go b/src/crypto/x509/cert_pool.go index 266d1ea04a..e9b2c122b9 100644 --- a/src/crypto/x509/cert_pool.go +++ b/src/crypto/x509/cert_pool.go @@ -77,7 +77,8 @@ func (s *CertPool) cert(n int) (*Certificate, error) { return s.lazyCerts[n].getCert() } -func (s *CertPool) copy() *CertPool { +// Clone returns a copy of s. +func (s *CertPool) Clone() *CertPool { p := &CertPool{ byName: make(map[string][]int, len(s.byName)), lazyCerts: make([]lazyCert, len(s.lazyCerts)), @@ -109,7 +110,7 @@ func (s *CertPool) copy() *CertPool { // New changes in the system cert pool might not be reflected in subsequent calls. func SystemCertPool() (*CertPool, error) { if sysRoots := systemRootsPool(); sysRoots != nil { - return sysRoots.copy(), nil + return sysRoots.Clone(), nil } return loadSystemRoots() -- 2.50.0