Skip to content

Commit

Permalink
database: Use bytes.Clone instead of manual copy.
Browse files Browse the repository at this point in the history
bytes.Clone was introduced in go 1.20 and removes the need to manually
copy byte slices.
  • Loading branch information
jholdstock committed Feb 15, 2024
1 parent 85a82fc commit 63c5d77
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 6 deletions.
9 changes: 4 additions & 5 deletions database/database.go
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
// Copyright (c) 2020-2023 The Decred developers
// Copyright (c) 2020-2024 The Decred developers
// Use of this source code is governed by an ISC
// license that can be found in the LICENSE file.

package database

import (
"bytes"
"crypto/ed25519"
"crypto/rand"
"fmt"
Expand Down Expand Up @@ -285,8 +286,7 @@ func (vdb *VspDatabase) KeyPair() (ed25519.PrivateKey, ed25519.PublicKey, error)

// Byte slices returned from Bolt are only valid during a transaction.
// Need to make a copy.
seed = make([]byte, len(s))
copy(seed, s)
seed = bytes.Clone(s)

if seed == nil {
// should not happen
Expand Down Expand Up @@ -341,8 +341,7 @@ func (vdb *VspDatabase) CookieSecret() ([]byte, error) {

// Byte slices returned from Bolt are only valid during a transaction.
// Need to make a copy.
cookieSecret = make([]byte, len(cs))
copy(cookieSecret, cs)
cookieSecret = bytes.Clone(cs)

return nil
})
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module github.com/decred/vspd

go 1.19
go 1.20

require (
decred.org/dcrwallet/v3 v3.1.0
Expand Down

0 comments on commit 63c5d77

Please sign in to comment.