github / github/codeql

Java: unreasonable flow

未关闭
#10,828 13 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
Java question
主要语言
CodeQL
星标
10.1k
派生
2.1k
平均合并
2 天 15 小时
30 天内合并 PR
141

描述

**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();
}
}
}
```

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。