Skip to content
Snippets Groups Projects
Commit af52ee3b authored by Christoph Petrausch's avatar Christoph Petrausch
Browse files

Updated fuzzing code

parent 55cf3d2a
No related branches found
No related tags found
No related merge requests found
packet-fuzz.zip packet-fuzz.zip
crashers
suppressions
// +build gofuzz // foobar
// +bu ild go fuzz
package packet package packet
import "bytes" import (
"bytes"
"github.com/bio-routing/bio-rd/protocols/bgp/types"
)
const ( const (
INC_PRIO = 1 INC_PRIO = 1
...@@ -13,13 +18,32 @@ const ( ...@@ -13,13 +18,32 @@ const (
func Fuzz(data []byte) int { func Fuzz(data []byte) int {
buf := bytes.NewBuffer(data) buf := bytes.NewBuffer(data)
msg, err := Decode(buf) for _, option := range getAllOptions() {
if err != nil { msg, err := Decode(buf, &option)
if msg != nil { if err != nil {
panic("msg != nil on error") if msg != nil {
panic("msg != nil on error")
}
} }
return KEEP return INC_PRIO
} }
return KEEP
}
return INC_PRIO func getAllOptions() []types.Options {
parameters := []bool{true, false}
var ret []types.Options
for _, octet := range parameters {
for _, multi := range parameters {
for _, addPathX := range parameters {
ret = append(ret, types.Options{
Supports4OctetASN: octet,
SupportsMultiProtocol: multi,
AddPathRX: addPathX,
})
}
}
}
return ret
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment