pkg/compiler: fix infinite recursion in template instantiation

Currently we replace a template argument and then recurse
into the new type AST to see if there is more to replace.
If the description is buggy and the template argument
contains itself, then we will recurse infintiely trying
to replace it more and more.
Use post-order traversal when replacing template argument to fix this.
3 files changed
tree: 902e952ce0abf2eb06d757f9587497e14ef29a56
  1. dashboard/
  2. docs/
  3. executor/
  4. Godeps/
  5. pkg/
  6. prog/
  7. sys/
  8. syz-ci/
  9. syz-fuzzer/
  10. syz-hub/
  11. syz-manager/
  12. tools/
  13. vendor/
  14. vm/
  15. .clang-format
  16. .gitignore
  17. .golangci.yml
  18. .travis.yml
  19. AUTHORS
  20. CODE_OF_CONDUCT.md
  21. CONTRIBUTORS
  22. fuzzbuzz.yaml
  23. fuzzit.sh
  24. LICENSE
  25. Makefile
  26. README.md
README.md

syzkaller - kernel fuzzer

Build Status fuzzit Go Report Card Coverage Status GoDoc License

syzkaller is an unsupervised coverage-guided kernel fuzzer.
Supported OSes: Akaros, FreeBSD, Fuchsia, gVisor, Linux, NetBSD, OpenBSD, Windows.

Mailing list: syzkaller@googlegroups.com (join on web or by email).

Found bugs: Akaros, Darwin/XNU, FreeBSD, Linux, NetBSD, OpenBSD, Windows.

Documentation

Initially, syzkaller was developed with Linux kernel fuzzing in mind, but now it's being extended to support other OS kernels as well. Most of the documentation at this moment is related to the Linux kernel. For other OS kernels check: Akaros, Darwin/XNU, FreeBSD, Fuchsia, NetBSD, OpenBSD, Windows, gVisor.

External Articles

Disclaimer

This is not an official Google product.