Java: Expand flow step refactoring to Callables

Also add some missing flow steps for StringBuilder
This commit is contained in:
Joe Farebrother
2020-10-12 14:43:21 +01:00
parent 7e2c49fadd
commit eafde05a55
9 changed files with 65 additions and 45 deletions

View File

@@ -1,7 +1,7 @@
import java.util.Formatter;
import java.lang.StringBuilder;
import java.lang.System;
import java.io.Console;
class A {
public static String taint() { return "tainted"; }
@@ -38,9 +38,10 @@ class A {
public static void test4() {
String bad = taint();
Console c = System.console();
StringBuilder sb = new StringBuilder();
c.format(bad);
c.readLine("Enter something: %s", bad);
sb.append(bad);
new Formatter(sb).format("ok").toString();
}
}

View File

@@ -27,6 +27,10 @@
| A.java:30:22:30:28 | taint(...) | A.java:36:9:36:10 | sb |
| A.java:30:22:30:28 | taint(...) | A.java:36:9:36:21 | toString(...) |
| A.java:40:22:40:28 | taint(...) | A.java:40:22:40:28 | taint(...) |
| A.java:40:22:40:28 | taint(...) | A.java:43:18:43:20 | bad |
| A.java:40:22:40:28 | taint(...) | A.java:44:9:44:46 | new ..[] { .. } |
| A.java:40:22:40:28 | taint(...) | A.java:44:43:44:45 | bad |
| A.java:40:22:40:28 | taint(...) | A.java:43:9:43:10 | sb [post update] |
| A.java:40:22:40:28 | taint(...) | A.java:43:9:43:22 | append(...) |
| A.java:40:22:40:28 | taint(...) | A.java:43:19:43:21 | bad |
| A.java:40:22:40:28 | taint(...) | A.java:45:9:45:25 | new Formatter(...) |
| A.java:40:22:40:28 | taint(...) | A.java:45:9:45:38 | format(...) |
| A.java:40:22:40:28 | taint(...) | A.java:45:9:45:49 | toString(...) |
| A.java:40:22:40:28 | taint(...) | A.java:45:23:45:24 | sb |