...
1 package inject
2
3 import (
4 l5dcharts "github.com/linkerd/linkerd2/pkg/charts/linkerd2"
5
6 fuzz "github.com/AdaLogics/go-fuzz-headers"
7 )
8
9
10 func FuzzInject(data []byte) int {
11 f := fuzz.NewConsumer(data)
12 yamlBytes, err := f.GetBytes()
13 if err != nil {
14 return 0
15 }
16
17 v := &l5dcharts.Values{}
18 err = f.GenerateStruct(v)
19 if err != nil {
20 return 0
21 }
22 conf := NewResourceConfig(v, OriginUnknown, "")
23 _, _ = conf.ParseMetaAndYAML(yamlBytes)
24 injectProxy, err := f.GetBool()
25 if err != nil {
26 return 0
27 }
28 _, _ = conf.GetPodPatch(injectProxy)
29 _, _ = conf.CreateOpaquePortsPatch()
30
31 report := &Report{}
32 err = f.GenerateStruct(report)
33 if err == nil {
34 _, _ = conf.Uninject(report)
35 }
36 return 1
37 }
38
View as plain text