The strings were concatenated, making it impossible to match the path.
- 主要语言
- CodeQL
- 星标
- 10.1k
- 派生
- 2.1k
- 平均合并
- 2 天 15 小时
- 30 天内合并 PR
- 141
描述
Source can query the fileName.

Sink can also query data.

Logic can be connected.

But no results were found.

The test from fileName to FileUtils.isValidFilename can retrieve results.

However, when querying from fileName to writeBytes, no results are returned. The data passes through the line "String filePath = Global.getDownloadPath() + fileName;" in the middle.


贡献指南
调研方向
Start by tracing the reported flow from fileName through "String filePath = Global.getDownloadPath() + fileName;" to writeBytes, and compare it with the path to FileUtils.isValidFilename. Inspect how the CodeQL data-flow query handles the concatenation, then verify that the fileName-to-writeBytes query returns a result while the existing path remains covered.
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- java
- 领域
- security
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100