Find limit of recursion: Difference between revisions

Content added Content deleted
(→‎{{header|VBScript}}: ++ unix shell (bash))
(→‎E: new can't-do-this example)
Line 102: Line 102:


Through execution (with Mono), another user has reached 697186.
Through execution (with Mono), another user has reached 697186.

=={{header|E}}==

Outside of debugging access to other vats, E programs are (ideally) not allowed to observe recursion limits, because stack unwinding at an arbitrary point can break invariants of the code that was executing at the time. In particular, consider an attacker who estimates the stack size, nearly fills up the stack to that point, then invokes the victim — If the attacker is allowed to catch our hypothetical StackOverflowException from inside the victim, then there is a good chance of the victim then being in an inconsistent state, which the attacker can then make use of.


=={{header|Forth}}==
=={{header|Forth}}==