From 12bf9ff8dc7ba9d37234b5013e6541381d6cd005 Mon Sep 17 00:00:00 2001 From: cuiweixie Date: Wed, 28 Sep 2022 00:29:14 +0800 Subject: [PATCH] database: use bytes.Clone Change-Id: I66aad199884cffd51946f53f01580a3a353f5c97 Reviewed-on: https://go-review.googlesource.com/c/go/+/435280 Reviewed-by: Ian Lance Taylor Reviewed-by: Dmitri Shuralyov TryBot-Result: Gopher Robot Run-TryBot: Meng Zhuo --- src/database/sql/convert.go | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/src/database/sql/convert.go b/src/database/sql/convert.go index 4d9d070137..32941cb4c2 100644 --- a/src/database/sql/convert.go +++ b/src/database/sql/convert.go @@ -7,6 +7,7 @@ package sql import ( + "bytes" "database/sql/driver" "errors" "fmt" @@ -252,13 +253,13 @@ func convertAssignRows(dest, src any, rows *Rows) error { if d == nil { return errNilPtr } - *d = cloneBytes(s) + *d = bytes.Clone(s) return nil case *[]byte: if d == nil { return errNilPtr } - *d = cloneBytes(s) + *d = bytes.Clone(s) return nil case *RawBytes: if d == nil { @@ -401,7 +402,7 @@ func convertAssignRows(dest, src any, rows *Rows) error { if sv.IsValid() && sv.Type().AssignableTo(dv.Type()) { switch b := src.(type) { case []byte: - dv.Set(reflect.ValueOf(cloneBytes(b))) + dv.Set(reflect.ValueOf(bytes.Clone(b))) default: dv.Set(sv) } @@ -486,15 +487,6 @@ func strconvErr(err error) error { return err } -func cloneBytes(b []byte) []byte { - if b == nil { - return nil - } - c := make([]byte, len(b)) - copy(c, b) - return c -} - func asString(src any) string { switch v := src.(type) { case string: -- 2.48.1