You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
733 B

  1. #!/bin/bash
  2. set -xe
  3. # Validate arguments
  4. if [ "$#" -ne 1 ]; then
  5. echo "Usage: $0 <fuzz-type>"
  6. exit 1
  7. fi
  8. # Configure
  9. NAME=transfersh
  10. ROOT=./server
  11. TYPE=$1
  12. # Setup
  13. export GOFUZZ111MODULE="on"
  14. go get -u github.com/dvyukov/go-fuzz/go-fuzz github.com/dvyukov/go-fuzz/go-fuzz-build
  15. go get -d -v -u ./...
  16. if [ ! -f fuzzit ]; then
  17. wget -q -O fuzzit https://github.com/fuzzitdev/fuzzit/releases/download/v2.4.72/fuzzit_Linux_x86_64
  18. chmod a+x fuzzit
  19. fi
  20. # Fuzz
  21. function fuzz {
  22. FUNC=Fuzz$1
  23. TARGET=$2
  24. DIR=${3:-$ROOT}
  25. go-fuzz-build -libfuzzer -func $FUNC -o fuzzer.a $DIR
  26. clang -fsanitize=fuzzer fuzzer.a -o fuzzer
  27. ./fuzzit create job --type $TYPE $NAME/$TARGET fuzzer
  28. }
  29. fuzz LocalStorage local-storage