---
source: crates/ruff_linter/src/rules/flake8_bandit/mod.rs
---
S607 Starting a process with a partial executable path
  --> S607.py:9:11
   |
 7 | subprocess.check_output("true")
 8 | subprocess.run("true")
 9 | os.system("true")
   |           ^^^^^^
10 | os.popen("true")
11 | os.popen2("true")
   |

S607 Starting a process with a partial executable path
  --> S607.py:10:10
   |
 8 | subprocess.run("true")
 9 | os.system("true")
10 | os.popen("true")
   |          ^^^^^^
11 | os.popen2("true")
12 | os.popen3("true")
   |

S607 Starting a process with a partial executable path
  --> S607.py:11:11
   |
 9 | os.system("true")
10 | os.popen("true")
11 | os.popen2("true")
   |           ^^^^^^
12 | os.popen3("true")
13 | os.popen4("true")
   |

S607 Starting a process with a partial executable path
  --> S607.py:12:11
   |
10 | os.popen("true")
11 | os.popen2("true")
12 | os.popen3("true")
   |           ^^^^^^
13 | os.popen4("true")
14 | popen2.popen2("true")
   |

S607 Starting a process with a partial executable path
  --> S607.py:13:11
   |
11 | os.popen2("true")
12 | os.popen3("true")
13 | os.popen4("true")
   |           ^^^^^^
14 | popen2.popen2("true")
15 | popen2.popen3("true")
   |

S607 Starting a process with a partial executable path
  --> S607.py:21:10
   |
19 | commands.getoutput("true")
20 | commands.getstatusoutput("true")
21 | os.execl("true")
   |          ^^^^^^
22 | os.execle("true")
23 | os.execlp("true")
   |

S607 Starting a process with a partial executable path
  --> S607.py:22:11
   |
20 | commands.getstatusoutput("true")
21 | os.execl("true")
22 | os.execle("true")
   |           ^^^^^^
23 | os.execlp("true")
24 | os.execlpe("true")
   |

S607 Starting a process with a partial executable path
  --> S607.py:23:11
   |
21 | os.execl("true")
22 | os.execle("true")
23 | os.execlp("true")
   |           ^^^^^^
24 | os.execlpe("true")
25 | os.execv("true")
   |

S607 Starting a process with a partial executable path
  --> S607.py:24:12
   |
22 | os.execle("true")
23 | os.execlp("true")
24 | os.execlpe("true")
   |            ^^^^^^
25 | os.execv("true")
26 | os.execve("true")
   |

S607 Starting a process with a partial executable path
  --> S607.py:25:10
   |
23 | os.execlp("true")
24 | os.execlpe("true")
25 | os.execv("true")
   |          ^^^^^^
26 | os.execve("true")
27 | os.execvp("true")
   |

S607 Starting a process with a partial executable path
  --> S607.py:26:11
   |
24 | os.execlpe("true")
25 | os.execv("true")
26 | os.execve("true")
   |           ^^^^^^
27 | os.execvp("true")
28 | os.execvpe("true")
   |

S607 Starting a process with a partial executable path
  --> S607.py:27:11
   |
25 | os.execv("true")
26 | os.execve("true")
27 | os.execvp("true")
   |           ^^^^^^
28 | os.execvpe("true")
29 | os.spawnl("true")
   |

S607 Starting a process with a partial executable path
  --> S607.py:28:12
   |
26 | os.execve("true")
27 | os.execvp("true")
28 | os.execvpe("true")
   |            ^^^^^^
29 | os.spawnl("true")
30 | os.spawnle("true")
   |

S607 Starting a process with a partial executable path
  --> S607.py:29:11
   |
27 | os.execvp("true")
28 | os.execvpe("true")
29 | os.spawnl("true")
   |           ^^^^^^
30 | os.spawnle("true")
31 | os.spawnlp("true")
   |

S607 Starting a process with a partial executable path
  --> S607.py:30:12
   |
28 | os.execvpe("true")
29 | os.spawnl("true")
30 | os.spawnle("true")
   |            ^^^^^^
31 | os.spawnlp("true")
32 | os.spawnlpe("true")
   |

S607 Starting a process with a partial executable path
  --> S607.py:31:12
   |
29 | os.spawnl("true")
30 | os.spawnle("true")
31 | os.spawnlp("true")
   |            ^^^^^^
32 | os.spawnlpe("true")
33 | os.spawnv("true")
   |

S607 Starting a process with a partial executable path
  --> S607.py:32:13
   |
30 | os.spawnle("true")
31 | os.spawnlp("true")
32 | os.spawnlpe("true")
   |             ^^^^^^
33 | os.spawnv("true")
34 | os.spawnve("true")
   |

S607 Starting a process with a partial executable path
  --> S607.py:33:11
   |
31 | os.spawnlp("true")
32 | os.spawnlpe("true")
33 | os.spawnv("true")
   |           ^^^^^^
34 | os.spawnve("true")
35 | os.spawnvp("true")
   |

S607 Starting a process with a partial executable path
  --> S607.py:34:12
   |
32 | os.spawnlpe("true")
33 | os.spawnv("true")
34 | os.spawnve("true")
   |            ^^^^^^
35 | os.spawnvp("true")
36 | os.spawnvpe("true")
   |

S607 Starting a process with a partial executable path
  --> S607.py:35:12
   |
33 | os.spawnv("true")
34 | os.spawnve("true")
35 | os.spawnvp("true")
   |            ^^^^^^
36 | os.spawnvpe("true")
37 | os.startfile("true")
   |

S607 Starting a process with a partial executable path
  --> S607.py:36:13
   |
34 | os.spawnve("true")
35 | os.spawnvp("true")
36 | os.spawnvpe("true")
   |             ^^^^^^
37 | os.startfile("true")
   |

S607 Starting a process with a partial executable path
  --> S607.py:37:14
   |
35 | os.spawnvp("true")
36 | os.spawnvpe("true")
37 | os.startfile("true")
   |              ^^^^^^
38 |
39 | # Check it does not fail for full paths.
   |

S607 Starting a process with a partial executable path
  --> S607.py:49:16
   |
47 | # Check that "partial path" checks tuples too
48 | import subprocess
49 | subprocess.run(("echo", "foo"))
   |                ^^^^^^^^^^^^^^^
   |
