cra.sh 503 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #!/bin/sh
  2. DIR=`cd $(dirname "$0"); pwd`
  3. QBE=$DIR/../qbe
  4. BUGF=/tmp/bug.id
  5. FIND=$1
  6. FIND=${FIND:-afl-find}
  7. if ! test -f $BUGF
  8. then
  9. echo 1 > $BUGF
  10. fi
  11. while true
  12. do
  13. ID=`cat $BUGF`
  14. if test `ls $FIND/crashes/id* | wc -l` -lt $ID
  15. then
  16. rm -f bug.ssa
  17. echo "All done!"
  18. exit 0
  19. fi
  20. BUG=`ls $FIND/crashes/id* | sed -ne "${ID}{p;q}"`
  21. echo "*** Crash $ID"
  22. cp $BUG bug.ssa
  23. $QBE bug.ssa > /dev/null
  24. RET=$?
  25. if test \( $RET -ne 0 \) -a \( $RET -ne 1 \)
  26. then
  27. exit 1
  28. fi
  29. expr $ID + 1 > $BUGF
  30. done