-
Notifications
You must be signed in to change notification settings - Fork 178
Open
Description
Description
We discovered a Stack-overflow vulnerability in the Squirrel compiler. The crash occurs when parsing a script containing a deeply nested sequence of unary operators (e.g., !!!!!!...).
The ASAN report shows an extremely deep recursion chain involving Factor, PrefixedExpr, and UnaryOP, eventually exhausting the stack and triggering a crash in SQLexer::Lex.
Environment
- OS: Linux x86_64
- Complier: Clang
- Build Configuration: Release mode with ASan enabled.
Vulnerability Details
- Target: Squirrel (squirrel-lang)
- Vulnerability Type: CWE-674: Uncontrolled Recursion
- Function: SQCompiler::Factor / SQCompiler::UnaryOP
- Location: squirrel/sqcompiler.cpp:863 (recurses to PrefixedExpr)
- Root Cause Analysis: The parser handles unary operators recursively.
// Example logic in sqcompiler.cpp
void SQCompiler::Factor() {
if (IsUnaryOp(token)) {
UnaryOP(op);
// UnaryOP calls PrefixedExpr, which calls Factor again
} ...
}
The PoC likely contains a long chain of unary operators (e.g., logical NOT ! or negation -). The compiler recurses for each operator without a depth limit check, leading to stack exhaustion.
Reproduce
- Build squirrel with Release optimization and ASAN enabled.
- Run with the crashing file:
./build/bin/sq repro
ASAN report
==77839==ERROR: AddressSanitizer: stack-overflow on address 0x7fff82031f60 (pc 0x7f6744d053a8 bp 0x7fff82032390 sp 0x7fff82031f60 T0)
#0 0x7f6744d053a8 in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:718
#1 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#2 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#3 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#4 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#5 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#6 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#7 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#8 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#9 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#10 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#11 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#12 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#13 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#14 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#15 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#16 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#17 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#18 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#19 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#20 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#21 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#22 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#23 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#24 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#25 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#26 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#27 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#28 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#29 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#30 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#31 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#32 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#33 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#34 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#35 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#36 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#37 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#38 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#39 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#40 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#41 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#42 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#43 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#44 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#45 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#46 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#47 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#48 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#49 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#50 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#51 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#52 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#53 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#54 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#55 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#56 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#57 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#58 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#59 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#60 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#61 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#62 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#63 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#64 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#65 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#66 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#67 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#68 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#69 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#70 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#71 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#72 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#73 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#74 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#75 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#76 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#77 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#78 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#79 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#80 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#81 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#82 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#83 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#84 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#85 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#86 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#87 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#88 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#89 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#90 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#91 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#92 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#93 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#94 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#95 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#96 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#97 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#98 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#99 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#100 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#101 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#102 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#103 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#104 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#105 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#106 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#107 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#108 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#109 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#110 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#111 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#112 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#113 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#114 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#115 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#116 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#117 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#118 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#119 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#120 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#121 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#122 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#123 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#124 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#125 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#126 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#127 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#128 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#129 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#130 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#131 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#132 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#133 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#134 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#135 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#136 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#137 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#138 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#139 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#140 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#141 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#142 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#143 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#144 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#145 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#146 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#147 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#148 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#149 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#150 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#151 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#152 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#153 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#154 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#155 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#156 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#157 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#158 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#159 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#160 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#161 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#162 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#163 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#164 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#165 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#166 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#167 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#168 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#169 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#170 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#171 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#172 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#173 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#174 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#175 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#176 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#177 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#178 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#179 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#180 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#181 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#182 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#183 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#184 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#185 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#186 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#187 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#188 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#189 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#190 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#191 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#192 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#193 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#194 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#195 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#196 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#197 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#198 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#199 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#200 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#201 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#202 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#203 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#204 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#205 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#206 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#207 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#208 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#209 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#210 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#211 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#212 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#213 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#214 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#215 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#216 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#217 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#218 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#219 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#220 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#221 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#222 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#223 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#224 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#225 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#226 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#227 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#228 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#229 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#230 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#231 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#232 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#233 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#234 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#235 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#236 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#237 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#238 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#239 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#240 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#241 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#242 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#243 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
#244 0x7f6744d03a0b in SQCompiler::PrefixedExpr() /src/squirrel/squirrel/sqcompiler.cpp:618:25
#245 0x7f6744d0bbec in SQCompiler::UnaryOP(SQOpcode) /src/squirrel/squirrel/sqcompiler.cpp:907:9
#246 0x7f6744d06a5a in SQCompiler::Factor() /src/squirrel/squirrel/sqcompiler.cpp:863:13
SUMMARY: AddressSanitizer: stack-overflow /src/squirrel/squirrel/sqcompiler.cpp:718 in SQCompiler::Factor()
==77839==ABORTING
Metadata
Metadata
Assignees
Labels
No labels