From 56fb2cff9f127a2a7dad0b44bb5522785aa06ddf Mon Sep 17 00:00:00 2001 From: cuiweixie Date: Wed, 28 Sep 2022 00:28:49 +0800 Subject: crypto: use bytes.Clone Change-Id: I92e110023739c6f8f7815c7e47ad7639c4e8812d Reviewed-on: https://go-review.googlesource.com/c/go/+/435279 Reviewed-by: Ian Lance Taylor Reviewed-by: Dmitri Shuralyov Auto-Submit: Dmitri Shuralyov Reviewed-by: Filippo Valsorda TryBot-Result: Gopher Robot Run-TryBot: xie cui <523516579@qq.com> --- src/crypto/cipher/cbc.go | 3 ++- src/crypto/cipher/cipher.go | 8 -------- src/crypto/cipher/ctr.go | 3 ++- 3 files changed, 4 insertions(+), 10 deletions(-) (limited to 'src/crypto/cipher') diff --git a/src/crypto/cipher/cbc.go b/src/crypto/cipher/cbc.go index fe774c116e..51a142071f 100644 --- a/src/crypto/cipher/cbc.go +++ b/src/crypto/cipher/cbc.go @@ -12,6 +12,7 @@ package cipher import ( + "bytes" "crypto/internal/alias" "crypto/subtle" ) @@ -27,7 +28,7 @@ func newCBC(b Block, iv []byte) *cbc { return &cbc{ b: b, blockSize: b.BlockSize(), - iv: dup(iv), + iv: bytes.Clone(iv), tmp: make([]byte, b.BlockSize()), } } diff --git a/src/crypto/cipher/cipher.go b/src/crypto/cipher/cipher.go index 7e1a4de9a3..df6f596b4d 100644 --- a/src/crypto/cipher/cipher.go +++ b/src/crypto/cipher/cipher.go @@ -59,11 +59,3 @@ type BlockMode interface { // maintains state and does not reset at each CryptBlocks call. CryptBlocks(dst, src []byte) } - -// Utility routines - -func dup(p []byte) []byte { - q := make([]byte, len(p)) - copy(q, p) - return q -} diff --git a/src/crypto/cipher/ctr.go b/src/crypto/cipher/ctr.go index 2b434ef832..3ac0ff74d0 100644 --- a/src/crypto/cipher/ctr.go +++ b/src/crypto/cipher/ctr.go @@ -13,6 +13,7 @@ package cipher import ( + "bytes" "crypto/internal/alias" "crypto/subtle" ) @@ -48,7 +49,7 @@ func NewCTR(block Block, iv []byte) Stream { } return &ctr{ b: block, - ctr: dup(iv), + ctr: bytes.Clone(iv), out: make([]byte, 0, bufSize), outUsed: 0, } -- cgit v1.3-5-g9baa