Missing format argument¶
ID: java/missing-format-argument Kind: problem Severity: error Precision: very-high Tags: - correctness - external/cwe/cwe-685 Query suites: - java-security-and-quality.qls
When formatting strings using
printf-style format strings, one must ensure that the number of supplied arguments matches the number of arguments referenced by the format string. Additional arguments will be thrown away silently, which may not be the intended behavior, and too few arguments will cause an
Format strings are used by the
format method on the classes
PrintStream. Several of these classes also supply the method alias
printf. The class
Console has two additional methods,
readPassword, that also use format strings.
Supply the correct number of arguments to the format method, or change the format string to use the correct arguments.
The following example supplies only one argument to be formatted, but the format string refers to two arguments, so this will throw an
System.out.format("First string: %s Second string: %s", "Hello world");