Fix inverted logic for deny_command (#4563)

This commit is contained in:
Erik Peterson
2023-06-06 13:56:17 -07:00
committed by GitHub
parent dafbd11686
commit 055806e124
2 changed files with 9 additions and 1 deletions

View File

@@ -109,7 +109,7 @@ def validate_command(command: str, config: Config) -> bool:
if not tokens:
return False
if config.deny_commands and tokens[0] not in config.deny_commands:
if config.deny_commands and tokens[0] in config.deny_commands:
return False
for keyword in config.allow_commands:

View File

@@ -48,3 +48,11 @@ def test_execute_python_file_invalid(config):
def test_execute_shell(config_allow_execute, random_string, config):
result = sut.execute_shell(f"echo 'Hello {random_string}!'", config)
assert f"Hello {random_string}!" in result
def test_execute_shell_deny_command(
python_test_file: str, config_allow_execute: bool, config: Config
):
config.deny_commands = ["echo"]
result = sut.execute_shell(f"echo 'Hello {random_string}!'", config)
assert "Error:" in result and "not allowed" in result