diff options
Diffstat (limited to 'internal/fuzz/jsonfuzz/fuzz.go')
-rw-r--r-- | internal/fuzz/jsonfuzz/fuzz.go | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/internal/fuzz/jsonfuzz/fuzz.go b/internal/fuzz/jsonfuzz/fuzz.go deleted file mode 100644 index b9903460..00000000 --- a/internal/fuzz/jsonfuzz/fuzz.go +++ /dev/null @@ -1,39 +0,0 @@ -// 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. - -// Package jsonfuzz includes fuzzers for protojson.Marshal and protojson.Unmarshal. -package jsonfuzz - -import ( - "google.golang.org/protobuf/encoding/protojson" - "google.golang.org/protobuf/proto" - - fuzzpb "google.golang.org/protobuf/internal/testprotos/fuzz" -) - -// Fuzz is a fuzzer for proto.Marshal and proto.Unmarshal. -func Fuzz(data []byte) (score int) { - m1 := &fuzzpb.Fuzz{} - if err := (protojson.UnmarshalOptions{ - AllowPartial: true, - }).Unmarshal(data, m1); err != nil { - return 0 - } - data1, err := protojson.MarshalOptions{ - AllowPartial: true, - }.Marshal(m1) - if err != nil { - panic(err) - } - m2 := &fuzzpb.Fuzz{} - if err := (protojson.UnmarshalOptions{ - AllowPartial: true, - }).Unmarshal(data1, m2); err != nil { - return 0 - } - if !proto.Equal(m1, m2) { - panic("not equal") - } - return 1 -} |