cpp: how to use macro argument as dataflow sink
まだ誰も着手していません。
評価
調査の方向性
issue 内の CodeQL predicate から始め、言及されている 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時間
- マージ済み PR(30日)
- 134
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
github/codeql のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
-
C#: cs/simplifiable-boolean-expression false positive on Nullable<bool> compared with a literal オープン
難易度 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
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
sipyourdrink-ltd/bernstein#6191 ·
-
security severity:low track:open-source
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
[addtool] DeepZero オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
gwen001/offsectools_www#2055 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
WalletConnect/actions#112 ·