summaryrefslogtreecommitdiff
path: root/vendor/github.com/goccy/go-json/internal/decoder/array.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/goccy/go-json/internal/decoder/array.go')
-rw-r--r--vendor/github.com/goccy/go-json/internal/decoder/array.go4
1 files changed, 3 insertions, 1 deletions
diff --git a/vendor/github.com/goccy/go-json/internal/decoder/array.go b/vendor/github.com/goccy/go-json/internal/decoder/array.go
index 8ef91cfa1..4b23ed43f 100644
--- a/vendor/github.com/goccy/go-json/internal/decoder/array.go
+++ b/vendor/github.com/goccy/go-json/internal/decoder/array.go
@@ -19,7 +19,9 @@ type arrayDecoder struct {
}
func newArrayDecoder(dec Decoder, elemType *runtime.Type, alen int, structName, fieldName string) *arrayDecoder {
- zeroValue := *(*unsafe.Pointer)(unsafe_New(elemType))
+ // workaround to avoid checkptr errors. cannot use `*(*unsafe.Pointer)(unsafe_New(elemType))` directly.
+ zeroValuePtr := unsafe_New(elemType)
+ zeroValue := **(**unsafe.Pointer)(unsafe.Pointer(&zeroValuePtr))
return &arrayDecoder{
valueDecoder: dec,
elemType: elemType,