From 71a0beb68d4c61ce7c7a9c7f8aa2189ccfe619b2 Mon Sep 17 00:00:00 2001 From: Jes Cok Date: Wed, 30 Aug 2023 04:23:55 +0000 Subject: all: rewrite internal/saferio.SliceCap using generics and add func SliceCapWithSize Change-Id: I265173bf2722796c4be545c968efef3a1a6f7a7d GitHub-Last-Rev: 04d95cdd615f906167545f246f707e1440c39374 GitHub-Pull-Request: golang/go#62365 Reviewed-on: https://go-review.googlesource.com/c/go/+/524257 LUCI-TryBot-Result: Go LUCI Auto-Submit: Ian Lance Taylor Reviewed-by: Russ Cox Reviewed-by: Ian Lance Taylor --- src/encoding/gob/decode.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/encoding') diff --git a/src/encoding/gob/decode.go b/src/encoding/gob/decode.go index 46657183f2..868893312e 100644 --- a/src/encoding/gob/decode.go +++ b/src/encoding/gob/decode.go @@ -370,7 +370,7 @@ func decUint8Slice(i *decInstr, state *decoderState, value reflect.Value) { errorf("bad %s slice length: %d", value.Type(), n) } if value.Cap() < n { - safe := saferio.SliceCap((*byte)(nil), uint64(n)) + safe := saferio.SliceCap[byte](uint64(n)) if safe < 0 { errorf("%s slice too big: %d elements", value.Type(), n) } @@ -656,7 +656,7 @@ func (dec *Decoder) decodeSlice(state *decoderState, value reflect.Value, elemOp errorf("%s slice too big: %d elements of %d bytes", typ.Elem(), u, size) } if value.Cap() < n { - safe := saferio.SliceCap(reflect.Zero(reflect.PointerTo(typ.Elem())).Interface(), uint64(n)) + safe := saferio.SliceCapWithSize(size, uint64(n)) if safe < 0 { errorf("%s slice too big: %d elements of %d bytes", typ.Elem(), u, size) } -- cgit v1.3