github / github/codeql

Java: For some projects JDK classes have location under `sourceLocationPrefix`

Open
#11,265 1 comment 0 reactions 0 assignees View on GitHub
acknowledged Java question
Dominant language
CodeQL
Stars
10.1k
Forks
2.1k
Avg merge
2d 15h
Merged PRs (30d)
141

Description

### Version
CodeQL CLI 2.11.2

### Description
For some projects JDK classes such as `java/lang/String.class` have a location under the `sourceLocationPrefix` of the database, for example `file:///home/runner/work/quarkus/quarkus/modules/java.base/java/lang/String.class:0:0:0:0`.

This can cause tools such as the VS Code extension to erroneously construct URLs to these files and display them to the user, even though the files are not actually part of the sources and therefore the URLs point to non-existent files.

Expected would be that the location of JDK classes is outside the sources directory (which is the case for most databases), for example `file:///modules/java.base/java/lang/String.class:0:0:0:0`.

Affected projects (GitHub CodeQL databases):
- https://github.com/Activiti/Activiti/commit/a4c8dd6090914ca76e44defa3449b058ec8e8657
- https://github.com/eclipse/jetty.project/commit/df265e0abb30e696f5fe8a8c898c4c8b41e0cef9
- https://github.com/kiegroup/drools/commit/b7dd8323d5e7ba47e826d2a8dffcac09219b8e3f
- https://github.com/qos-ch/logback/commit/ea165fb023f55aec48d3051b817105a69e881eb9
- https://github.com/quarkusio/quarkus/commit/967d3497b585af137e69a980c26ba5af30ab84dc
- https://github.com/redisson/redisson/commit/66390899ea26af7cb0faa46bd677229e73af8ae4

CodeQL query detecting this:
```ql
import java

from TypeString s
select s, s.getLocation(), s.getFile().getRelativePath()
```

Feel free to close this issue if you don't think fixing or adjusting this is worth it.

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.