diff --git a/disco/disco_fuzzer.go b/disco/disco_fuzzer.go new file mode 100644 index 000000000..38d57a2a4 --- /dev/null +++ b/disco/disco_fuzzer.go @@ -0,0 +1,18 @@ +// Copyright (c) 2021 Tailscale Inc & AUTHORS All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. +// +build gofuzz + +package disco + +func Fuzz(data []byte) int { + m, _ := Parse(data) + + newBytes := m.AppendMarshal(data) + parsedMarshall, _ := Parse(newBytes) + + if m != parsedMarshall { + panic("Parsing error") + } + return 1 +} diff --git a/net/stun/stun_fuzzer.go b/net/stun/stun_fuzzer.go new file mode 100644 index 000000000..65024dd35 --- /dev/null +++ b/net/stun/stun_fuzzer.go @@ -0,0 +1,13 @@ +// Copyright (c) 2021 Tailscale Inc & AUTHORS All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. +// +build gofuzz + +package stun + +func FuzzStunParser(data []byte) int { + _, _, _, _ := ParseResponse(data) + + _, _ = ParseBindingRequest(data) + return 1 +}