Call to 'Runtime.exec()' with non-constant string
Reports calls to java.lang.Runtime.exec()
which take a dynamically-constructed string as the command to execute.
Constructed execution strings are a common source of security breaches. By default, this inspection ignores compile-time constants.
Example:
String i = getUserInput();
Runtime runtime = Runtime.getRuntime();
runtime.exec("foo" + i); // reports warning
Use the inspection settings to consider any static
final
fields as constant. Be careful, because strings like the following will be ignored when the option is enabled:
static final String COMMAND = "ping " + getDomainFromUserInput() + "'";
Inspection options
Option | Type | Default |
---|---|---|
Consider 'static final' fields constant | Checkbox | false |
Inspection Details | |
---|---|
Available in: | IntelliJ IDEA 2023.3, Qodana for JVM 2023.3 |
Plugin: | Java, 233.SNAPSHOT |
Last modified: 13 July 2023