fuzz.go 512 B

12345678910111213141516171819202122232425262728293031323334
  1. //+build gofuzz
  2. package netlink
  3. func Fuzz(data []byte) int {
  4. return fuzzAttributes(data)
  5. // return fuzzMessage(data)
  6. }
  7. func fuzzAttributes(data []byte) int {
  8. attrs, err := UnmarshalAttributes(data)
  9. if err != nil {
  10. return 0
  11. }
  12. if _, err := MarshalAttributes(attrs); err != nil {
  13. panic(err)
  14. }
  15. return 1
  16. }
  17. func fuzzMessage(data []byte) int {
  18. var m Message
  19. if err := (&m).UnmarshalBinary(data); err != nil {
  20. return 0
  21. }
  22. if _, err := m.MarshalBinary(); err != nil {
  23. panic(err)
  24. }
  25. return 1
  26. }