mirror of
https://github.com/github/codeql.git
synced 2026-04-30 11:15:13 +02:00
Fix getAnArgUsageOffset and improve its space complexity
Also add tests checking the output of the new function
This commit is contained in:
17
java/ql/test/library-tests/format-strings/Test.java
Normal file
17
java/ql/test/library-tests/format-strings/Test.java
Normal file
@@ -0,0 +1,17 @@
|
||||
public class Test {
|
||||
|
||||
public static void test () {
|
||||
String.format("%s", "", "");
|
||||
String.format("s", "");
|
||||
String.format("%2$s %2$s", "", "");
|
||||
String.format("%2$s %1$s", "", "");
|
||||
String.format("%2$s %s", "");
|
||||
String.format("%s%<s", "", "");
|
||||
String.format("%s%%%%%%%%s%n", "", "");
|
||||
String.format("%s%%%%%%%%s%n", "");
|
||||
String.format("%s%%%%%%%s%n", "", "");
|
||||
String.format("%s%%%%%%%s%n", "");
|
||||
String.format("%2$s %% %n %1$s %<s %s %<s %<s %s %<s %1$s %<s", "", "");
|
||||
}
|
||||
|
||||
}
|
||||
22
java/ql/test/library-tests/format-strings/test.expected
Normal file
22
java/ql/test/library-tests/format-strings/test.expected
Normal file
@@ -0,0 +1,22 @@
|
||||
| %2$s %1$s | 1 | 5 |
|
||||
| %2$s %1$s | 2 | 0 |
|
||||
| %2$s %2$s | 2 | 0 |
|
||||
| %2$s %2$s | 2 | 5 |
|
||||
| %2$s %% %n %1$s %<s %s %<s %<s %s %<s %1$s %<s | 1 | 11 |
|
||||
| %2$s %% %n %1$s %<s %s %<s %<s %s %<s %1$s %<s | 1 | 16 |
|
||||
| %2$s %% %n %1$s %<s %s %<s %<s %s %<s %1$s %<s | 1 | 20 |
|
||||
| %2$s %% %n %1$s %<s %s %<s %<s %s %<s %1$s %<s | 1 | 23 |
|
||||
| %2$s %% %n %1$s %<s %s %<s %<s %s %<s %1$s %<s | 1 | 27 |
|
||||
| %2$s %% %n %1$s %<s %s %<s %<s %s %<s %1$s %<s | 1 | 38 |
|
||||
| %2$s %% %n %1$s %<s %s %<s %<s %s %<s %1$s %<s | 1 | 43 |
|
||||
| %2$s %% %n %1$s %<s %s %<s %<s %s %<s %1$s %<s | 2 | 0 |
|
||||
| %2$s %% %n %1$s %<s %s %<s %<s %s %<s %1$s %<s | 2 | 31 |
|
||||
| %2$s %% %n %1$s %<s %s %<s %<s %s %<s %1$s %<s | 2 | 34 |
|
||||
| %2$s %s | 1 | 5 |
|
||||
| %2$s %s | 2 | 0 |
|
||||
| %s | 1 | 0 |
|
||||
| %s%%%%%%%%s%n | 1 | 0 |
|
||||
| %s%%%%%%%s%n | 1 | 0 |
|
||||
| %s%%%%%%%s%n | 2 | 8 |
|
||||
| %s%<s | 1 | 0 |
|
||||
| %s%<s | 1 | 2 |
|
||||
6
java/ql/test/library-tests/format-strings/test.ql
Normal file
6
java/ql/test/library-tests/format-strings/test.ql
Normal file
@@ -0,0 +1,6 @@
|
||||
import java
|
||||
import semmle.code.java.StringFormat
|
||||
|
||||
from FormatString f, int argNo, int offset
|
||||
where offset = f.getAnArgUsageOffset(argNo)
|
||||
select f, argNo, offset
|
||||
Reference in New Issue
Block a user