| Issue |
165557
|
| Summary |
[clang-fuzzer] Crash in `clang::ASTContext::getTypeInfo`
|
| Labels |
clang
|
| Assignees |
|
| Reporter |
gal1ium
|
Hi, while testing clang by the fuzzing driver `clang-fuzzer`, it found a crashing case:
Version: 531fd45e9238d0485e3268aaf14ae15d01c7740f
Flags:
```
mkdir build
cd build
cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS="lld;clang;compiler-rt" ../llvm -DLLVM_ENABLE_ASSERTIONS=ON -DLLVM_BUILD_RUNTIME=Off -DLLVM_BUILD_INSTRUMENTED_COVERAGE=On -DLLVM_LIB_FUZZING_ENGINE=$LIB_FUZZING_ENGINE -DCLANG_ENABLE_PROTO_FUZZER=ON
ninja clang-fuzzer
```
PoC:
```c
template<typename...Ts>oid Pac00nsideLocal0lass(){[]{f class L0{Ts t};L0 l}}template oid Pac00nsideLocal0lass<>(;
```
Reproduction:
`./bin/clang-fuzzer ./poc`
Crashing thread backtrace: (it looks like a recursive stack overflow)
```
#0 0x000055555cac9623 in clang::ASTContext::getTypeInfo (fuzz-binaries/clang-fuzzer)
at /src/llvm/clang/lib/AST/ASTContext.cpp:1966
#1 0x000055555cae481f in clang::ASTContext::getTypeInfoImpl (fuzz-binaries/clang-fuzzer)
at /src/llvm/clang/lib/AST/ASTContext.cpp:2465
#2 0x000055555cac97e7 in clang::ASTContext::getTypeInfo (fuzz-binaries/clang-fuzzer)
at /src/llvm/clang/lib/AST/ASTContext.cpp:1972
#3 0x000055555cae481f in clang::ASTContext::getTypeInfoImpl (fuzz-binaries/clang-fuzzer)
at /src/llvm/clang/lib/AST/ASTContext.cpp:2465
#4 0x000055555cac97e7 in clang::ASTContext::getTypeInfo (fuzz-binaries/clang-fuzzer)
at /src/llvm/clang/lib/AST/ASTContext.cpp:1972
#5 0x000055555cae481f in clang::ASTContext::getTypeInfoImpl (fuzz-binaries/clang-fuzzer)
at /src/llvm/clang/lib/AST/ASTContext.cpp:2465
#6 0x000055555cac97e7 in clang::ASTContext::getTypeInfo (fuzz-binaries/clang-fuzzer)
at /src/llvm/clang/lib/AST/ASTContext.cpp:1972
#7 0x000055555cae481f in clang::ASTContext::getTypeInfoImpl (fuzz-binaries/clang-fuzzer)
at /src/llvm/clang/lib/AST/ASTContext.cpp:2465
#8 0x000055555cac97e7 in clang::ASTContext::getTypeInfo (fuzz-binaries/clang-fuzzer)
at /src/llvm/clang/lib/AST/ASTContext.cpp:1972
#9 0x000055555cae481f in clang::ASTContext::getTypeInfoImpl (fuzz-binaries/clang-fuzzer)
at /src/llvm/clang/lib/AST/ASTContext.cpp:2465
#10 0x000055555cac97e7 in clang::ASTContext::getTypeInfo (fuzz-binaries/clang-fuzzer)
at /src/llvm/clang/lib/AST/ASTContext.cpp:1972
#11 0x000055555cae481f in clang::ASTContext::getTypeInfoImpl (fuzz-binaries/clang-fuzzer)
at /src/llvm/clang/lib/AST/ASTContext.cpp:2465
#12 0x000055555cac97e7 in clang::ASTContext::getTypeInfo (fuzz-binaries/clang-fuzzer)
at /src/llvm/clang/lib/AST/ASTContext.cpp:1972
#13 0x000055555cae481f in clang::ASTContext::getTypeInfoImpl (fuzz-binaries/clang-fuzzer)
at /src/llvm/clang/lib/AST/ASTContext.cpp:2465
#14 0x000055555cac97e7 in clang::ASTContext::getTypeInfo (fuzz-binaries/clang-fuzzer)
at /src/llvm/clang/lib/AST/ASTContext.cpp:1972
#15 0x000055555cae481f in clang::ASTContext::getTypeInfoImpl (fuzz-binaries/clang-fuzzer)
at /src/llvm/clang/lib/AST/ASTContext.cpp:2465
#16 0x000055555cac97e7 in clang::ASTContext::getTypeInfo (fuzz-binaries/clang-fuzzer)
at /src/llvm/clang/lib/AST/ASTContext.cpp:1972
#17 0x000055555cae481f in clang::ASTContext::getTypeInfoImpl (fuzz-binaries/clang-fuzzer)
at /src/llvm/clang/lib/AST/ASTContext.cpp:2465
#18 0x000055555cac97e7 in clang::ASTContext::getTypeInfo (fuzz-binaries/clang-fuzzer)
at /src/llvm/clang/lib/AST/ASTContext.cpp:1972
#19 0x000055555cae481f in clang::ASTContext::getTypeInfoImpl (fuzz-binaries/clang-fuzzer)
at /src/llvm/clang/lib/AST/ASTContext.cpp:2465
```
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs