fix: preserve background operator in allowlist segments
Maintainer edit: keep a top-level trailing '&' in the segment being matched so background execution cannot be checked as if the ampersand were absent. Redirection forms like 2>&1 and &> remain untouched.
This commit is contained in:
@@ -882,6 +882,7 @@ class ExecTool(Tool):
|
||||
elif ch == "&" and not (
|
||||
(i > 0 and command[i - 1] in "<>") or command.startswith("&>", i)
|
||||
):
|
||||
current.append(ch)
|
||||
operator_len = 1
|
||||
elif ch in {";", "|"}:
|
||||
operator_len = 1
|
||||
|
||||
Reference in New Issue
Block a user