cpp: how to use macro argument as dataflow sink
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia con il predicato CodeQL nell’issue e leggi gli entry point menzionati, MacroInvocation, getArgument e getExpandedArgument. Determina come gli argomenti delle macro possano essere rappresentati come nodi del flusso di dati, oppure se ciò non sia supportato, e documenta un esempio funzionante o la limitazione, in modo che la domanda abbia una risposta definitiva.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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?
- Lingua principale
- CodeQL
- Stelle
- 10.1k
- Fork
- 2.1k
- Merge medio
- 2g 10h
- PR unite (30g)
- 134
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di github/codeql
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
-
C#: cs/simplifiable-boolean-expression false positive on Nullable<bool> compared with a literal Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
false-positive
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
false-positive
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
Tutte le issue di github/codeql
Issue simili
-
documentation help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
clerk/javascript#9852 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
AiursoftWeb/AnduinOS-2#19 ·
-
[Feature]: Bump the pinned iron-proxy from 0.39.0 to 0.50.0, or let the version be overridden Apertaarea/config comp/agent P3 sweeper:risk-security-boundary type/feature
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
NousResearch/hermes-agent#118734 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
AXERA-TECH/ax-llm#75 ·