This patch adds a fuzzer that interprets inputs as object files and makes lldb create targets from them. It is very similar to the llvm-dwarfdump fuzzer which found a bunch of issues in libObject. I let it run in the background for an hour or so and it identified 15 or so inputs that cause lldb to crash.
Details
Details
- Reviewers
labath - Group Reviewers
Restricted Project - Commits
- rG61efe14e21b2: [lldb] Add a fuzzer for target creation
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
I like this.
lldb/tools/lldb-fuzzer/lldb-fuzzer-target.cpp | ||
---|---|---|
24 ↗ | (On Diff #418133) | Not an ideal use of auto -- it's clear that this returns some form of TempFile, but if this were say Expected<TempFile>, then the code would be incorrect (but still compile). |
lldb/tools/lldb-fuzzer/lldb-fuzzer-target.cpp | ||
---|---|---|
24 ↗ | (On Diff #418133) | Agreed. Originally I was returning a llvm::Expected<std::unqique_ptr<TempFile>> but the inability to create a temp file isn't all that interesting and without the expected the logic can be a lot simpler. |