mirror of
https://github.com/github/codeql.git
synced 2025-12-17 17:23:36 +01:00
Note: the results in `partial` have regressed and will need to be fixed in a follow-up commit.
39 lines
733 B
Java
39 lines
733 B
Java
public class B {
|
|
|
|
public void f1() {
|
|
Elem e = new Elem();
|
|
Box1 b1 = new Box1(e, null);
|
|
Box2 b2 = new Box2(b1);
|
|
sink(b2.box1.elem1); // flow
|
|
sink(b2.box1.elem2); // no flow
|
|
}
|
|
|
|
public void f2() {
|
|
Elem e = new Elem();
|
|
Box1 b1 = new Box1(null, e);
|
|
Box2 b2 = new Box2(b1);
|
|
sink(b2.box1.elem1); // no flow
|
|
sink(b2.box1.elem2); // flow
|
|
}
|
|
|
|
public static void sink(Object o) { }
|
|
|
|
public static class Elem { }
|
|
|
|
public static class Box1 {
|
|
public Elem elem1;
|
|
public Elem elem2;
|
|
public Box1(Elem e1, Elem e2) {
|
|
this.elem1 = e1;
|
|
this.elem2 = e2;
|
|
}
|
|
}
|
|
|
|
public static class Box2 {
|
|
public Box1 box1;
|
|
public Box2(Box1 b1) {
|
|
this.box1 = b1;
|
|
}
|
|
}
|
|
}
|