fuzz.go 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. //go:build gofuzz
  2. // +build gofuzz
  3. package rtnetlink
  4. // FuzzLinkMessage will fuzz a LinkMessage
  5. func FuzzLinkMessage(data []byte) int {
  6. m := &LinkMessage{}
  7. if err := (m).UnmarshalBinary(data); err != nil {
  8. return 0
  9. }
  10. if _, err := m.MarshalBinary(); err != nil {
  11. panic(err)
  12. }
  13. return 1
  14. }
  15. // FuzzAddressMessage will fuzz an AddressMessage
  16. func FuzzAddressMessage(data []byte) int {
  17. m := &AddressMessage{}
  18. if err := (m).UnmarshalBinary(data); err != nil {
  19. return 0
  20. }
  21. if _, err := m.MarshalBinary(); err != nil {
  22. panic(err)
  23. }
  24. return 1
  25. }
  26. // FuzzRouteMessage will fuzz a RouteMessage
  27. func FuzzRouteMessage(data []byte) int {
  28. m := &RouteMessage{}
  29. if err := (m).UnmarshalBinary(data); err != nil {
  30. return 0
  31. }
  32. if _, err := m.MarshalBinary(); err != nil {
  33. panic(err)
  34. }
  35. return 1
  36. }
  37. // FuzzNeighMessage will fuzz a NeighMessage
  38. func FuzzNeighMessage(data []byte) int {
  39. m := &NeighMessage{}
  40. if err := (m).UnmarshalBinary(data); err != nil {
  41. return 0
  42. }
  43. if _, err := m.MarshalBinary(); err != nil {
  44. panic(err)
  45. }
  46. return 1
  47. }