- Run go mod vendor to eliminate proxy.golang.org network dependency - Set GOFLAGS=-mod=vendor at job env level so all go commands use vendor/ - Fix go-version from 1.23 to 1.24.0 to match go.mod - Move GOTOOLCHAIN=local to job-level env (not per-step inline) - Set cache: false on setup-go (cache is irrelevant with vendoring) - Add timeout-minutes: 15 so failures are caught quickly instead of 3h Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: multica-agent <github@multica.ai>
34 lines
552 B
Go
34 lines
552 B
Go
//go:build fuzz
|
|
// +build fuzz
|
|
|
|
package dns
|
|
|
|
import "strings"
|
|
|
|
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 {
|
|
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 {
|
|
return 0
|
|
}
|
|
return 1
|
|
}
|