/
githubmirror
/
ignition
Обзор
Документация
Войти
/
githubmirror
/
ignition
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
vendor/github.com/coreos/go-json/fuzz.go
42 строки
725 B
Benjamin Gilbert
go.mod: update vcontext for Go 1.18 rebase of go-json
01 фев 2023, 21:12
01 фев 2023, 21:12
f3ec2a5
Код
Авторство
О чём код?
// Copyright 2019 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. //go:build gofuzz package json import ( "fmt" ) func Fuzz(data []byte) (score int) { for _, ctor := range []func() any{ func() any { return new(any) }, func() any { return new(map[string]any) }, func() any { return new([]any) }, } { v := ctor() err := Unmarshal(data, v) if err != nil { continue } score = 1 m, err := Marshal(v) if err != nil { fmt.Printf("v=%#v\n", v) panic(err) } u := ctor() err = Unmarshal(m, u) if err != nil { fmt.Printf("v=%#v\n", v) fmt.Printf("m=%s\n", m) panic(err) } } return }