Explorer: Fuzzer issue around infinite recursion (#2741)

I limited the stack size to 1K we can change it or make it dynamic from CLI later

Closes #2733
This commit is contained in:
Amr Hesham
2023-04-06 16:50:02 -07:00
committed by GitHub
parent 8cb3f00f1b
commit 87df7f7c43
3 changed files with 26 additions and 0 deletions
+4
View File
@@ -952,6 +952,10 @@ auto Interpreter::CallFunction(const CallExpression& call,
Nonnull<const Value*> fun,
Nonnull<const Value*> arg,
ImplWitnessMap&& witnesses) -> ErrorOr<Success> {
constexpr int StackSizeLimit = 1000;
if (todo_.Count() > StackSizeLimit) {
return ProgramError(call.source_loc()) << "stack overflow";
}
if (trace_stream_->is_enabled()) {
*trace_stream_ << "calling function: " << *fun << "\n";
}