fuzz.go 552 B

123456789101112131415161718192021222324252627282930313233
  1. // +build gofuzz
  2. // fuzzing with https://github.com/dvyukov/go-fuzz
  3. package mscfb
  4. import (
  5. "bytes"
  6. "io"
  7. )
  8. func Fuzz(data []byte) int {
  9. doc, err := New(bytes.NewReader(data))
  10. if err != nil {
  11. if doc != nil {
  12. panic("doc != nil on error " + err.Error())
  13. }
  14. return 0
  15. }
  16. buf := &bytes.Buffer{}
  17. for entry, err := doc.Next(); ; entry, err = doc.Next() {
  18. if err != nil {
  19. if err == io.EOF {
  20. return 1
  21. }
  22. if entry != nil {
  23. panic("entry != nil on error " + err.Error())
  24. }
  25. }
  26. buf.Reset()
  27. buf.ReadFrom(entry)
  28. }
  29. return 1
  30. }