1// +build fuzz 2 3package dns 4 5import "strings" 6 7func Fuzz(data []byte) int { 8 msg := new(Msg) 9 10 if err := msg.Unpack(data); err != nil { 11 return 0 12 } 13 if _, err := msg.Pack(); err != nil { 14 return 0 15 } 16 17 return 1 18} 19 20func FuzzNewRR(data []byte) int { 21 str := string(data) 22 // Do not fuzz lines that include the $INCLUDE keyword and hint the fuzzer 23 // at avoiding them. 24 // See GH#1025 for context. 25 if strings.Contains(strings.ToUpper(str), "$INCLUDE") { 26 return -1 27 } 28 if _, err := NewRR(str); err != nil { 29 return 0 30 } 31 return 1 32} 33