From 1cd293bf45b75dcb54c5bc27a451b96465c554ab Mon Sep 17 00:00:00 2001 From: Ashton Meuser Date: Thu, 19 Mar 2026 17:31:09 -0700 Subject: [PATCH] Throw if too deep in syntax --- src/Lua/CodeAnalysis/Compilation/Parser.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Lua/CodeAnalysis/Compilation/Parser.cs b/src/Lua/CodeAnalysis/Compilation/Parser.cs index 6680058d..48a8caa1 100644 --- a/src/Lua/CodeAnalysis/Compilation/Parser.cs +++ b/src/Lua/CodeAnalysis/Compilation/Parser.cs @@ -125,6 +125,11 @@ public void LeaveLevel() public TempBlock EnterLevel() { + if (!RuntimeHelpers.TryEnsureSufficientExecutionStack()) + { + Scanner.SyntaxError("too many syntax levels"); + } + Scanner.L.CallCount++; CheckLimit(Scanner.L.CallCount, MaxCallCount, "Go levels"); return new(Scanner.L);