github / github/codeql

Java: unreasonable flow

Open
#10,828 13 comments 0 reactions 0 assignees View on GitHub
Java question
Dominant language
CodeQL
Stars
10.1k
Forks
2.1k
Avg merge
2d 15h
Merged PRs (30d)
141

Description

**PostUpdateNode** or **ThisAcess** may flow to the wrong **ClassInstanceExpr** of the class.

Which may lead to wrong result and slow down the analyze.

How can i fix it?

for example **this.data** will flow to **new RealSource(data);**

```
package WrongPath;

public class RealSource {
private String data;

public RealSource(String data) {
this.data = data;
}

public String getData() {
return data;
}
}

```

```
package WrongPath;

import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

public class FakeSource {
public FakeSource() {
String data = "";
RealSource realSource = new RealSource(data);
try {
URL url = new URL(realSource.getData());
URLConnection urlConnection = url.openConnection();
urlConnection.connect();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.