как исправить следующий код в сонарной перспективе. выдает следующую ошибку
This usage of java/lang/Runtime.exec([Ljava/lang/String;)Ljava/lang/Process; can be vulnerable to Command Injection
Ниже приведен код
String commandArr[] = new String[] {"curl", "-v", "-X", "put", "--user", drUserName + ":" + drPwd, "-H", "Content-Type:text/plain",
"-H","X-ATT-DR-META:"+metaData, "--data", response.toString(), "--post301", "--location-trusted", feedFile};
String command = Arrays.toString(commandArr);
int returnCode = -1;
try {
returnCode = obj.executeCommand(commandArr);
} catch{...}
Имеет проблему в следующем коде
private int executeCommand(String[] command) {
int returnCode = -1;
final String Msg = "HTTP/1.1 204 No Content";
boolean isMsg= false; Process proc;
try {
proc = Runtime.getRuntime().exec(command); //sonar issue
returnCode = proc.waitFor();
BufferedReader reader = new BufferedReader(new InputStreamReader(proc.getErrorStream()));
String line = "";
while ((line = reader.readLine()) != null) {
if (!isMsg) {
if (line.contains(Msg)) {
isMsg= true;
}
}
}
} catch (Exception e) {...}
.....
.....
return returnCode;
}
Может кто-нибудь помочь?