dispatch/vendor/github.com/miekg/dns/fuzz.go

33 lines
536 B
Go
Raw Normal View History

2018-05-04 21:39:27 +00:00
// +build fuzz
package dns
2020-04-29 02:23:32 +00:00
import "strings"
2018-05-04 21:39:27 +00:00
func Fuzz(data []byte) int {
msg := new(Msg)
if err := msg.Unpack(data); err != nil {
return 0
}
if _, err := msg.Pack(); err != nil {
return 0
}
return 1
}
func FuzzNewRR(data []byte) int {
2020-04-29 02:23:32 +00:00
str := string(data)
// Do not fuzz lines that include the $INCLUDE keyword and hint the fuzzer
// at avoiding them.
// See GH#1025 for context.
if strings.Contains(strings.ToUpper(str), "$INCLUDE") {
return -1
}
if _, err := NewRR(str); err != nil {
2018-05-04 21:39:27 +00:00
return 0
}
return 1
}