rtnetlink/fuzz.go
Florian Lehner a833fb5b68
add netlink/rule (#139)
* add netlink/rule

Signed-off-by: Florian Lehner <dev@der-flo.net>

* Add some fuzzing corpus

Signed-off-by: Jeroen Simonetti <jeroen@simonetti.nl>

Co-authored-by: Jeroen Simonetti <jeroen@simonetti.nl>
2022-04-12 09:00:30 +02:00

75 lines
1.3 KiB
Go

//go:build gofuzz
// +build gofuzz
package rtnetlink
// FuzzLinkMessage will fuzz a LinkMessage
func FuzzLinkMessage(data []byte) int {
m := &LinkMessage{}
if err := (m).UnmarshalBinary(data); err != nil {
return 0
}
if _, err := m.MarshalBinary(); err != nil {
panic(err)
}
return 1
}
// FuzzAddressMessage will fuzz an AddressMessage
func FuzzAddressMessage(data []byte) int {
m := &AddressMessage{}
if err := (m).UnmarshalBinary(data); err != nil {
return 0
}
if _, err := m.MarshalBinary(); err != nil {
panic(err)
}
return 1
}
// FuzzRouteMessage will fuzz a RouteMessage
func FuzzRouteMessage(data []byte) int {
m := &RouteMessage{}
if err := (m).UnmarshalBinary(data); err != nil {
return 0
}
if _, err := m.MarshalBinary(); err != nil {
panic(err)
}
return 1
}
// FuzzNeighMessage will fuzz a NeighMessage
func FuzzNeighMessage(data []byte) int {
m := &NeighMessage{}
if err := (m).UnmarshalBinary(data); err != nil {
return 0
}
if _, err := m.MarshalBinary(); err != nil {
panic(err)
}
return 1
}
// FuzzRuleMessage will fuzz a RuleMessage
func FuzzRuleMessage(data []byte) int {
m := &RuleMessage{}
if err := (m).UnmarshalBinary(data); err != nil {
return 0
}
if _, err := m.MarshalBinary(); err != nil {
panic(err)
}
return 1
}