MCPcopy
hub / github.com/bettercap/bettercap / Fuzz

Method Fuzz

modules/can/can_fuzz.go:81–108  ·  view source on GitHub ↗
(id string, optSize string)

Source from the content-addressed store, hash-verified

79}
80
81func (mod *CANModule) Fuzz(id string, optSize string) error {
82 rncSource := rand.NewSource(time.Now().Unix())
83 rng := rand.New(rncSource)
84
85 fuzzSize := 0
86 if optSize != "" {
87 if num, err := strconv.Atoi(optSize); err != nil {
88 return fmt.Errorf("could not parse numeric size from '%s': %v", optSize, err)
89 } else if num > 8 {
90 return fmt.Errorf("max can frame size is 8, %d given", num)
91 } else {
92 fuzzSize = num
93 }
94 }
95
96 if frameID, err := mod.fuzzSelectFrame(id, rng); err != nil {
97 return err
98 } else if frame, err := mod.fuzzGenerateFrame(frameID, fuzzSize, rng); err != nil {
99 return err
100 } else {
101 mod.Info("injecting %s of CAN frame %d ...",
102 humanize.Bytes(uint64(frame.Length)), frame.ID)
103 if err := mod.send.TransmitFrame(context.Background(), *frame); err != nil {
104 return err
105 }
106 }
107 return nil
108}

Callers 1

NewCanModuleFunction · 0.95

Calls 3

fuzzSelectFrameMethod · 0.95
fuzzGenerateFrameMethod · 0.95
InfoMethod · 0.45

Tested by

no test coverage detected