scan-build.sh 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #!/bin/sh
  2. # Copyright 2014 The Tor Project, Inc
  3. # See LICENSE for licensing information
  4. #
  5. # This script is used for running a bunch of clang scan-build checkers
  6. # on Tor.
  7. CHECKERS=""
  8. scan-build \
  9. $CHECKERS \
  10. ./configure
  11. make clean
  12. scan-build \
  13. $CHECKERS \
  14. make -j5 -k
  15. CHECKERS="\
  16. -disable-checker deadcode.DeadStores \
  17. -enable-checker alpha.core.CastSize \
  18. -enable-checker alpha.core.CastToStruct \
  19. -enable-checker alpha.core.IdenticalExpr \
  20. -enable-checker alpha.core.SizeofPtr \
  21. -enable-checker alpha.security.ArrayBoundV2 \
  22. -enable-checker alpha.security.MallocOverflow \
  23. -enable-checker alpha.security.ReturnPtrRange \
  24. -enable-checker alpha.unix.SimpleStream
  25. -enable-checker alpha.unix.cstring.BufferOverlap \
  26. -enable-checker alpha.unix.cstring.NotNullTerminated \
  27. -enable-checker alpha.unix.cstring.OutOfBounds \
  28. -enable-checker alpha.core.FixedAddr \
  29. -enable-checker security.insecureAPI.strcpy \
  30. -enable-checker alpha.unix.PthreadLock \
  31. -enable-checker alpha.core.PointerArithm \
  32. -enable-checker alpha.core.TestAfterDivZero \
  33. "
  34. # This one gives a false positive on every strcmp.
  35. # -enable-checker alpha.core.PointerSub
  36. # Needs work
  37. # alpha.unix.MallocWithAnnotations ??