Java: Add more field-flow tests

This commit is contained in:
Tom Hvitved
2020-06-22 20:15:07 +02:00
parent a1d5591634
commit e578827626
2 changed files with 48 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
public class F {
Object Field1;
Object Field2;
public F() {
Field1 = new Object();
Field2 = new Object();
}
private void m() {
Object o = new Object();
F f = new F();
f.Field1 = o;
f.Field2 = o;
f.Field2 = null;
sink(f.Field1); // flow
sink(f.Field2); // no flow [FALSE POSITIVE]
f = new F();
f.Field2 = null;
sink(f.Field1); // flow
sink(f.Field2); // no flow [FALSE POSITIVE]
f = new F();
o = new Object();
f.Field1 = o;
f.Field2 = o;
m2(f);
}
private void m2(F f)
{
f.Field2 = null;
sink(f.Field1); // flow
sink(f.Field2); // no flow [FALSE POSITIVE]
}
public static void sink(Object o) { }
}

View File

@@ -26,3 +26,13 @@
| E.java:2:32:2:43 | new Object(...) | E.java:21:10:21:24 | bh2.buf.content |
| E.java:2:32:2:43 | new Object(...) | E.java:24:10:24:28 | p2.data.buf.content |
| E.java:2:32:2:43 | new Object(...) | E.java:30:10:30:27 | p.data.buf.content |
| F.java:5:14:5:25 | new Object(...) | F.java:15:10:15:17 | f.Field1 |
| F.java:5:14:5:25 | new Object(...) | F.java:20:10:20:17 | f.Field1 |
| F.java:5:14:5:25 | new Object(...) | F.java:33:10:33:17 | f.Field1 |
| F.java:6:14:6:25 | new Object(...) | F.java:16:10:16:17 | f.Field2 |
| F.java:6:14:6:25 | new Object(...) | F.java:21:10:21:17 | f.Field2 |
| F.java:6:14:6:25 | new Object(...) | F.java:34:10:34:17 | f.Field2 |
| F.java:10:16:10:27 | new Object(...) | F.java:15:10:15:17 | f.Field1 |
| F.java:10:16:10:27 | new Object(...) | F.java:16:10:16:17 | f.Field2 |
| F.java:24:9:24:20 | new Object(...) | F.java:33:10:33:17 | f.Field1 |
| F.java:24:9:24:20 | new Object(...) | F.java:34:10:34:17 | f.Field2 |