我正在尝试使用ProcessBuilder在Java上执行cmd命令。这是我正在使用的代码:
ProcessBuilder processBuilder = new ProcessBuilder("cmd", "/c", scriptPath, pathDirectory, fileName);
Process process = processBuilder.start();
但是声纳分析产生以下错误:
如何解决此错误?
答案 0 :(得分:0)
我确认您应该信任RSPEC-2076的描述,并且应该清除可能由用户输入污染的变量。它可以是三个变量之一:scriptPath,pathDirectory,fileName。 SonarQube的最新版本显示了哪个变量可以被用户污染并且必须进行清理。清理的一种方法是检查将要执行的命令是否是白名单的一部分,如果检测到可疑的意外命令,则停止处理。