package testcode.command;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class CommandInjectionSafe {
public void safeEmptyConstructor() {
new ProcessBuilder();
}
public void safeConstructorArray() {
new ProcessBuilder("ls","-la");
String[] cmd =new String[] {"ls","-la"};
new ProcessBuilder(cmd);
}
public void safeConstructorList() {
List<String> cmd1 = new ArrayList<String>();
cmd1.add("ls");
cmd1.add("-la");
new ProcessBuilder(cmd1);
List<String> cmd2 = Arrays.asList("ls","-la");
new ProcessBuilder(cmd2);
}
public void safeCommandMethodArray() {
new ProcessBuilder().command("ls", "-la");
String[] cmd = new String[] {"ls","-la"};
new ProcessBuilder().command(cmd);
}
public void safeCommandMethodList() {
List<String> cmd1 = new ArrayList<String>();
cmd1.add("ls");
cmd1.add("-la");
new ProcessBuilder().command(cmd1);
List<String> cmd2 = Arrays.asList("ls","-la");
new ProcessBuilder().command(cmd2);
}
}