Adding a new checker to the clang static analyzer – Debugging Using LLVM Tools-1

Many C libraries provide functions that must be used in pairs. For example, the C standard library provides the malloc() and free() functions. The memory that’s allocated by malloc() function must be freed exactly one time by the free() function. Not calling the free() function, or calling it several times, is a programming error. There are many more instances of …

Finding bugs with libFuzzer – Debugging Using LLVM Tools-2

INFO: A corpus is not provided, starting from an empty corpus 28 NEW cov: 6 ft: 9 corp: 6/19b lim: 4 exec/s: 0 rss: 29Mb L: 4/4 MS: 4 CopyPart-PersAutoDict-CopyPart-ChangeByte- DE: “1\x00”- artifact_prefix=’./’; Test unit written to ./crash-17ba0791499db908433b80f37c5fbc89b870084b With the saved input, the test case can be executed with the same crashing input again: $ ./fuzzer crash-17ba0791499db908433b80f37c5fbc89b870084b This helps identify …