Merge pull request #124761 from benluddy/fuzz-cbor-decode

KEP-4222: Add CBOR fuzz test for unreasonable allocations during decode.
This commit is contained in:
Kubernetes Prow Robot 2024-07-09 10:02:17 -07:00 committed by GitHub
commit 048b2912b8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1475 changed files with 3068 additions and 4 deletions

View File

@ -17,8 +17,90 @@ limitations under the License.
package cbor
import (
// Adds this package and its dependencies to the dependency chain of k8s.io/kubernetes
// without affecting the size of kube binaries. Once fuzz targets are added here, this will
// become a real import.
_ "k8s.io/apimachinery/pkg/runtime/serializer/cbor"
"fmt"
goruntime "runtime"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/runtime/serializer/cbor"
)
var (
scheme = runtime.NewScheme()
serializers = []cbor.Serializer{
cbor.NewSerializer(scheme, scheme),
cbor.NewSerializer(scheme, scheme, cbor.Strict(true)),
}
)
// FuzzDecodeAllocations is a go-fuzz target that panics on inputs that cause an unreasonably large
// number of bytes to be allocated at decode time.
func FuzzDecodeAllocations(data []byte) (result int) {
const (
MaxInputBytes = 128
MaxAllocatedBytes = 16 * 1024
)
if len(data) > MaxInputBytes {
// Longer inputs can require more allocations by unmarshaling to larger
// objects. Focus on identifying short inputs that allocate an unreasonable number
// of bytes to identify pathological cases.
return -1
}
decode := func(serializer cbor.Serializer, data []byte) int {
var u unstructured.Unstructured
o, gvk, err := serializer.Decode(data, &schema.GroupVersionKind{}, &u)
if err != nil {
if o != nil {
panic("returned non-nil error and non-nil runtime.Object")
}
return 0
}
if o == nil || gvk == nil {
panic("returned nil error and nil runtime.Object or nil schema.GroupVersionKind")
}
return 1
}
for _, serializer := range serializers {
// The first pass pre-warms anything that is lazily initialized. Doing things like
// logging for the first time in a process can account for allocations on the order
// of tens of kB.
decode(serializer, data)
var nBytesAllocated uint64
for trial := 1; trial <= 10; trial++ {
func() {
defer goruntime.GOMAXPROCS(goruntime.GOMAXPROCS(1))
var mem goruntime.MemStats
goruntime.ReadMemStats(&mem)
result |= decode(serializer, data)
nBytesAllocated = mem.TotalAlloc
goruntime.ReadMemStats(&mem)
nBytesAllocated = mem.TotalAlloc - nBytesAllocated
}()
// The exact number of bytes allocated may vary due to allocations in
// concurrently-executing goroutines or implementation details of the
// runtime. Only panic on inputs that consistently exceed the allocation
// threshold to reduce the false positive rate.
if nBytesAllocated <= MaxAllocatedBytes {
break
}
}
if nBytesAllocated > MaxAllocatedBytes {
panic(fmt.Sprintf("%d bytes allocated to decode input of length %d exceeds maximum of %d", nBytesAllocated, len(data), MaxAllocatedBytes))
}
}
return result
}

View File

@ -0,0 +1,36 @@
/*
Copyright 2024 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package cbor_test
import (
"testing"
"k8s.io/kubernetes/test/fuzz/cbor"
)
// FuzzDecodeAllocations wraps the FuzzDecodeAllocations go-fuzz target as a "go test" fuzz test.
func FuzzDecodeAllocations(f *testing.F) {
f.Add([]byte("\xa2\x4aapiVersion\x41x\x44kind\x41y")) // {'apiVersion': 'x', 'kind': 'y'}
f.Fuzz(func(t *testing.T, in []byte) {
defer func() {
if p := recover(); p != nil {
t.Fatal(p)
}
}()
cbor.FuzzDecodeAllocations(in)
})
}

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa400B00\x7f\xff0000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xc3\xdc")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xc0\xc0\xc0\xc0\xc00")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2J0000000000\x9f\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xff@0")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2\x7fq000000\xec0000000000````````\xff000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2J0000\x01\x000000\x840\xf901\x84\xf900\xf901\x84\xf90000000A00")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2\x7f\xff\xff")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\x9f00000008")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xc2Xe8\xed71107Ac98B00XBXCAC\x7f118B002A017X 0000000000000000000000000000000000000000000000000000000000000000000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xc2Q00000000000000000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa4b\xf90000e0000\xcd0e00\xf9000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2\x7f`````\xff0A00")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa200\xc6\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xc6\xd1\xd1\xd1\xd1\xd1\xd1\xc6\xdb00000000\xdb0000000000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2JapiVersion\x84\x84\xf7\xf7\xf7\xf7000A00")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xac\xfa00000000000\xfa00000\xfa0000000\xfa00000\xfa00000\xfa00000\xfa00000\xfa00000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2A0\xbfB000A0\xbf@0A00B000@0\xffA00A0\xbfA20@0A00A10B000@0\xffA10@0@0\xffB00\xa2A0\xbf@0A00B000A0\xbfA20@0A00A10B000@0\xffA10@0\xff00")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xbf\xbf\xbf\xbf\xbf0")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xbf001020\xff")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2JapiVersion0Dkind0")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa3\xc2Xe80710002B10B0008011202000010000000000000000000000000000000000000000000000000000000000000000000000000000000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2A0\xbfA00B000@0A10@0\xffB00\xa2A0\xbfA0C000B000A0\xbfA2000@0A00A10B000@0\xffA100000@0\xffB000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2\xc5;\x9200000000\xc5;\x8d00000000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2JapiVersion\xf9c0A00")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa4\xc0\xc00000\xc0\xc000\xc0\xc000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xcf\xcf\xcf\xcf\xcf\xcf\xcf0")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2JapiVersion\x84\x840\x84\x8400\xf9\x00 0\xf9\x00 \x840\x84\x8400\xf9\x00 0\xf9\x00 00\xf9\x00 0\xf9\x00 \xf9\x00 0\xf9\x00 00A00")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2\x9f\xf7\xf7\xf7\xf7\xf7\xf7\xf7\xf7\xf7\xf7\xf7\xf7\xf7\xf7\xf7\xf7\xf7\xf7\xf7\xf7\xf7\xf7\xf7\xf7\xf7\xf7\xf7\xf7\xf7\xf7\xf7\xf7\xff000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2e00000\x84\xc7\xc7\xc7\xc7\xc7\xc7\xc7\xc7\xc7\xc7\xc7\xc7\xc7\xc7\xc7\xc70000A00")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2e00000\xa2D\xa80000@0@0")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xc3@")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2J0000000000\x9f\xc3@\xc3@\xc3@\xc3@\x9f\xc3@\xc3@\xc3@\xc3@\xc3@\xc3@\xc3@\xc3@\xc3@\xc3@\xc3@\xff\xc3@\xffC0000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xd7\xd7\xd7\xd7\xd7\xce\xce\xce\xd7\xd7\xce\xce\xd7\xd7\xd7\xd7\xd7\xd7\xce\xce\xce\xce\xce\xd3\xce\xce\xce\xce\xce\xce\xce\xce\xce\xce\xce\xce\xce\xce\xce\xce\xce\xce\xce\xce\xce\xd7\xd7\xd7\xd7\xd7\xce\xd7\xce\xd7\xd7\xd7\xd7\xd7\xd7\xd7\xd7\xd7\xd7\xd70")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2\xbfb0\xec0a\xee0a\xec0a\xec0a\x9f0a\xec80a\xec0a\xecd0000\xff000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa1\xa1\xa1\xa1\x8200000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa6\xc3A00\xc3A00\xa6\xc3A00000000\xc3A0000000\xc3A00\xa6\xc3A00\xc3A000000\xc3A00000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xbf\xbf0000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa200\xb1\xb10000000000000000000000000000000000000000000000000000000000000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa6\x84\xd9008")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa200A0\xc0d0\xcb00")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2e0000\xe7000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("l000݀݀݀݀0")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("{\xfe0000000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\x84\x9f0000000000000000000000000000000000000000000000000000000000000000\xff000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2e00000\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\xc3000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2e00000\xa2e00000\xf9|\x00@\xf9|\x00@0")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2e00000\xf9|\x00@0")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2E00000X.0000'\x000000000\x04\x00\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b0\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1fA00")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa200\xb1\xb100000000000000000000000000000000000000000000000000000000000000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2J0000000000\x8400\xfa\xff\x80\x00\x000B000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2\x9f\x9f\x9f\xff\x9f\x9f\x9f\xff\xff\x9f\xff\x9f\xff\xff\xff\xff000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2e00000\xfbCX000000A00")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2J0000000000\x9f\x9f\xf6\xf6\xf6\xf6\xf6\xf6\xf6\xf6\xf6\xf6\xf6\xf6\xf6\xf6\xf6\xf6\xf6\xf6\xf6\xf6\xf6\xf6\xf6\xf6\xf6\xf6\xf6\xf6\xf6\xf6\xf6\xf6\xff\xff@0")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("_@@@@@@@@@@@@@@@@\xff")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2J0000000000\x9f\xc3@\xc3@\xc3@\xc3@\x9f\xc3@\xc3@\xc3@\xc3@\xc3@\xc3@\xc3@\xc3@\xc3@\xc3@\xc3@\xff\xc3@\x9f\xc3@\xc3@\xc3@\xc3@\x9f\xc3@\xc3@\xc3@\xc3@\xc3@\xc3@\xc3@\xc3@\xc3@\xc3@\xc3@\xff\xc3@\xff\xffC0000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa4\xa00\xa00\xa4\xa00\xa00\xa00\xa000\xa00")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2JapiVersion\x84\xf900\xf90000A00")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2\xd900\xd900\xd900\xd900C000\xd9000\xd900\xd900\xd900\xd900\xd900\xd900\xd900\xd90000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xc3\xde")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2JapiVersion\xf9\x0e7A00")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2J\x00\x7f000000000A00")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa200C000d0\xe9\xb10")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xb4\xd20\xc90\xd50\xd20\xc90\xd20\xc90\xd50\xd20\xc90\xd50\xc90\xc90\xd50\xd20\xc90\xd50\xd20\xc90\xd20\xc90\xd50\xd20\xc90\xd50\xc90\xc90\xd50\xc90\xc90\xc90\xc90")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2\xbf00000000000000000000000000000000000000000000000000000000\xff000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2\xbf00000000@000000000000000000000000000000\x84\x84\x84\x84\x84\x84\x84\x840000000000000000000000000\xff000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2e\xe9\xad0000080")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa200\xc6\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xc6\xc6\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xc0d00000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2\xbf\xf40\xf40\xf40\xf40\xf40\xf40\xf40\xf40\xff000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2JapiVersion\x84\xf4\xf400A00")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x810000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xd8x\xd8x\xd8x\xd8x\xd8x\xd8x\xd8x\xd8x\xd8x\xd8x\xd8x\xd8x\xd8x\xd8x\xd8x\xd8x\xd8x\xd8x\xd8x\xd8x\xd8x\xd8x\xd8x\xd8x\xd8x\xd8x\xd8x\xd8x\xd8x\xd8x\xd8x\xd8x\xa2e000000A00")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2JapiVersion\x84\xfbX0000000\xfbX0000000\xfbX0000000\xfbX0000000A00")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2e00000\xfb\xff\xff000000A00")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2e000000C00\xc580")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2\xbf`0`000000000000000000000000000000000000000000000000000000000000000\xff000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2J0000000000\x9f\xc3@\xc3@\xc3@\xc3@\x9f\xc3@\xc3@\xc3@\xc3@\xc3@\xc3@\xc3@\xc3@\xc3@\xc3@\xc3@\xff\xc3@\xff00")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa80000\xf9\x02000000000000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2JapiVersion\xfb00000000A00")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\x7fa\xffa0a0a0a0\xff")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa40000\xd80\xd80\xd80\xd80\xd80\xd80\xd80\xd80\xd80\xd80\xd80\xd80\xd80\xd80\xd80\xd8\x00\xd800000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xbc")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2J0000000000\x9f\x9f\x9f\x9f0\xff\x9f\x9f\x9f\x9f\x9f\x9f0\xff\x9f\x9f\x9f0\xff\x9f0\xff\xff\xff\xff\xff\xff\x9f0\xff\x9f0\xff\xff\xff\xff\xff\xff@0")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2\x9f\xc1\x0e\x9f\xc1\x0e\xc1\x00\xc1\x0e\x9f\xc1\x0e\xc1\x00\xff\xc1\x00\xff\xc1\x00\xff000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f\x9f8")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa4b0\xfc0g000\xb50000e0\xb20000e00\xf9000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2\x8800000\x8800000000\x880000000000\x88000000000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa200\xc6\xc6\xc2\xc600")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa200\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xd1\xc0d00000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("l00耀00耀00")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2JapiVersion\x8400\xf9\xf90\xf9\xf90A00")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2JapiVersion\xf9\x112A00")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa1\x82\x1b\x82000000000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa8\xf9\xff0000\xf9\xff000000000000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2J0000000000\x9f\xfa0\xfa00\xfa0\xfa00\xfa0\xfa00\xfa0\xfa00\xfa0\xfa00\x9f\xfa0\xfa00\xfa0\xfa00\xfa0\xfa00\xfa0\xfa00\xfa0\xfa00\xfa0\xfa00\xfa0\xe100\xfa0\xfa00\xff\xfa0\xfa00\xfa0\xe100\xfa0\xfa00\xff@0")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2\x9f\x9f\xff\x9f\x9f\xff\xff\xff000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa200C000\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd5\xd50")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa6\xc30000\xc300000000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xc2Xp0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")

View File

@ -0,0 +1,2 @@
go test fuzz v1
[]byte("\xa2JapiVersion\x8400\xc2@0A00")

Some files were not shown because too many files have changed in this diff Show More