Set MAX_WHILE_ITERATIONS as module variable (#520)
This commit is contained in:
parent
c4bd41d39c
commit
8965b6a573
|
@ -52,6 +52,7 @@ ERRORS = {
|
||||||
|
|
||||||
DEFAULT_MAX_LEN_OUTPUT = 50000
|
DEFAULT_MAX_LEN_OUTPUT = 50000
|
||||||
MAX_OPERATIONS = 10000000
|
MAX_OPERATIONS = 10000000
|
||||||
|
MAX_WHILE_ITERATIONS = 1000000
|
||||||
|
|
||||||
|
|
||||||
def custom_print(*args):
|
def custom_print(*args):
|
||||||
|
@ -241,7 +242,6 @@ def evaluate_while(
|
||||||
custom_tools: Dict[str, Callable],
|
custom_tools: Dict[str, Callable],
|
||||||
authorized_imports: List[str],
|
authorized_imports: List[str],
|
||||||
) -> None:
|
) -> None:
|
||||||
max_iterations = 1000000
|
|
||||||
iterations = 0
|
iterations = 0
|
||||||
while evaluate_ast(while_loop.test, state, static_tools, custom_tools, authorized_imports):
|
while evaluate_ast(while_loop.test, state, static_tools, custom_tools, authorized_imports):
|
||||||
for node in while_loop.body:
|
for node in while_loop.body:
|
||||||
|
@ -252,8 +252,8 @@ def evaluate_while(
|
||||||
except ContinueException:
|
except ContinueException:
|
||||||
break
|
break
|
||||||
iterations += 1
|
iterations += 1
|
||||||
if iterations > max_iterations:
|
if iterations > MAX_WHILE_ITERATIONS:
|
||||||
raise InterpreterError(f"Maximum number of {max_iterations} iterations in While loop exceeded")
|
raise InterpreterError(f"Maximum number of {MAX_WHILE_ITERATIONS} iterations in While loop exceeded")
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue