cpp: how to use macro argument as dataflow sink
还没有人认领这个 Issue。
评估
调研方向
从 issue 中的 CodeQL 谓词开始,并阅读其中提到的 MacroInvocation、getArgument 和 getExpandedArgument 入口点。确定宏参数如何表示为数据流节点,或者确定是否不支持这种表示,并记录一个可正常工作的示例或该限制,以便为这个问题给出明确的答案。
由索引模型根据 Issue 内容生成。
描述
I would like to do something like this:
predicate isSink(DataFlow::Node sink) {
exists(MacroInvocation m |
sink.asExpr() = m.getArgument(0)
and m.getTarget().getName() = "my_cool_macro"
)
}
But getArgument is not defined, and getExpandedArgument returns a string. Doing sink.asExpr().toString() = m.getExpandedArgument(0) returns zero matches.
How do I use macros in dataflow?
- 主要语言
- CodeQL
- 星标
- 10.1k
- 派生
- 2.1k
- 平均合并
- 2 天 10 小时
- 30 天内合并 PR
- 134
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
github/codeql 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 84/100
-
难度 2/5 1-3 小时 新手友好度 82/100
-
难度 2/5 1-3 小时 新手友好度 78/100
-
false-positive
难度 2/5 1-3 小时 新手友好度 70/100
-
false-positive
难度 3/5 1-2 天 新手友好度 68/100
相似的 Issue
-
Product: Azure Policy :shield: Topic: Diagnostic Settings :test_tube: Topic: Policy :pencil:
难度 1/5 1-3 小时 新手友好度 92/100
Azure/Azure-Landing-Zones#4283 · 1 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 88/100
MystenLabs/MemWal#979 · 1 条评论 ·
-
namespace operations
难度 1/5 1 小时以内 新手友好度 82/100
EclipseFdn/open-vsx.org#13384 ·
-
难度 2/5 1-3 小时 新手友好度 76/100
-
documentation
难度 2/5 半天 新手友好度 62/100
inmanta/inmanta-core#10835 ·