From ad45a3c069fa2b68c8dd1cec3b0e65b78537f89d Mon Sep 17 00:00:00 2001 From: Martin HS Date: Thu, 21 Mar 2024 13:50:13 +0100 Subject: [PATCH] all: use min/max/clear from go1.21 (#29307) --- accounts/keystore/keystore.go | 4 +--- core/vm/analysis_test.go | 4 +--- crypto/crypto.go | 4 +--- crypto/secp256k1/scalar_mult_cgo.go | 8 ++------ ctxc/peer.go | 8 -------- metrics/sample_test.go | 7 ------- p2p/discover/common.go | 7 ------- p2p/discover/v5wire/crypto.go | 4 +--- rlp/decode.go | 4 +--- 9 files changed, 7 insertions(+), 43 deletions(-) diff --git a/accounts/keystore/keystore.go b/accounts/keystore/keystore.go index 20c74d1285..8bd6cdb9e3 100644 --- a/accounts/keystore/keystore.go +++ b/accounts/keystore/keystore.go @@ -495,7 +495,5 @@ func (ks *KeyStore) ImportPreSaleKey(keyJSON []byte, passphrase string) (account // zeroKey zeroes a private key in memory. func zeroKey(k *ecdsa.PrivateKey) { b := k.D.Bits() - for i := range b { - b[i] = 0 - } + clear(b) } diff --git a/core/vm/analysis_test.go b/core/vm/analysis_test.go index 6c112115dc..ed04619082 100644 --- a/core/vm/analysis_test.go +++ b/core/vm/analysis_test.go @@ -93,9 +93,7 @@ func BenchmarkJumpdestOpAnalysis(bench *testing.B) { bits := make(bitvec, len(code)/8+1+4) b.ResetTimer() for i := 0; i < b.N; i++ { - for j := range bits { - bits[j] = 0 - } + clear(bits) codeBitmapInternal(code, bits) } } diff --git a/crypto/crypto.go b/crypto/crypto.go index 9110592179..c3c1501e91 100644 --- a/crypto/crypto.go +++ b/crypto/crypto.go @@ -288,7 +288,5 @@ func PubkeyToAddress(p ecdsa.PublicKey) common.Address { } func zeroBytes(bytes []byte) { - for i := range bytes { - bytes[i] = 0 - } + clear(bytes) } diff --git a/crypto/secp256k1/scalar_mult_cgo.go b/crypto/secp256k1/scalar_mult_cgo.go index 8afa9d023b..bdf8eeede7 100644 --- a/crypto/secp256k1/scalar_mult_cgo.go +++ b/crypto/secp256k1/scalar_mult_cgo.go @@ -44,12 +44,8 @@ func (BitCurve *BitCurve) ScalarMult(Bx, By *big.Int, scalar []byte) (*big.Int, // Unpack the result and clear temporaries. x := new(big.Int).SetBytes(point[:32]) y := new(big.Int).SetBytes(point[32:]) - for i := range point { - point[i] = 0 - } - for i := range padded { - scalar[i] = 0 - } + clear(point) + clear(scalar) if res != 1 { return nil, nil } diff --git a/ctxc/peer.go b/ctxc/peer.go index 1660c0d326..d3fac1f5b6 100644 --- a/ctxc/peer.go +++ b/ctxc/peer.go @@ -60,14 +60,6 @@ const ( maxQueuedBlockAnns = 4 ) -// max is a helper function which returns the larger of the two given integers. -func max(a, b int) int { - if a > b { - return a - } - return b -} - // PeerInfo represents a short summary of the Cortex sub-protocol metadata known // about a connected peer. type PeerInfo struct { diff --git a/metrics/sample_test.go b/metrics/sample_test.go index 7967357055..9835ec1c30 100644 --- a/metrics/sample_test.go +++ b/metrics/sample_test.go @@ -87,13 +87,6 @@ func BenchmarkUniformSample1028(b *testing.B) { benchmarkSample(b, NewUniformSample(1028)) } -func min(a, b int) int { - if a < b { - return a - } - return b -} - func TestExpDecaySample(t *testing.T) { for _, tc := range []struct { reservoirSize int diff --git a/p2p/discover/common.go b/p2p/discover/common.go index abf9a2cf7f..1b4661d9f9 100644 --- a/p2p/discover/common.go +++ b/p2p/discover/common.go @@ -92,10 +92,3 @@ type ReadPacket struct { Data []byte Addr *net.UDPAddr } - -func min(x, y int) int { - if x > y { - return y - } - return x -} diff --git a/p2p/discover/v5wire/crypto.go b/p2p/discover/v5wire/crypto.go index bb9a06ea96..55d164cda3 100644 --- a/p2p/discover/v5wire/crypto.go +++ b/p2p/discover/v5wire/crypto.go @@ -129,9 +129,7 @@ func deriveKeys(hash hashFn, priv *ecdsa.PrivateKey, pub *ecdsa.PublicKey, n1, n sec := session{writeKey: make([]byte, aesKeySize), readKey: make([]byte, aesKeySize)} kdf.Read(sec.writeKey) kdf.Read(sec.readKey) - for i := range eph { - eph[i] = 0 - } + clear(eph) return &sec } diff --git a/rlp/decode.go b/rlp/decode.go index 1b1640c4f4..57d4c221bd 100644 --- a/rlp/decode.go +++ b/rlp/decode.go @@ -1105,9 +1105,7 @@ func (s *Stream) readUint(size byte) (uint64, error) { return uint64(b), err default: buffer := s.uintbuf[:8] - for i := range buffer { - buffer[i] = 0 - } + clear(buffer) start := int(8 - size) if err := s.readFull(buffer[start:]); err != nil { return 0, err