Copilot
717ff62d70
Python: deprecate AstNode.getAFlowNode() and rewrite internal callers
...
Preparatory refactor for the shared-CFG dataflow migration.
Deprecates the AstNode.getAFlowNode() cached predicate on the public
Python QL API and rewrites all ~140 internal callers across lib/, src/,
test/, and tools/ from `expr.getAFlowNode() = cfgNode` to
`cfgNode.getNode() = expr`, using ControlFlowNode.getNode() which
already exists in Flow.qll.
The predicate itself is preserved (with a deprecation note pointing at
the new pattern) so external users do not experience churn — they can
migrate at their own pace and the AST/CFG hierarchies still get the
intended untangling once the deprecation eventually elapses.
Semantic noop verified by:
- All 361 lib/ + src/ queries compile clean.
- All 122 ControlFlow + PointsTo library-tests pass.
- All 64 dataflow library-tests pass.
- All 113 Variables/Exceptions/Expressions/Statements/Functions/Imports/
Security/CWE-798/ModificationOfParameterWithDefault query-tests pass.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-06-22 14:55:19 +02:00
Owen Mansel-Chan
ea7510bf72
Refactor ReExposedInstance logic into one place
2026-06-17 13:10:47 +01:00
Owen Mansel-Chan
199fd864ad
Fix FP for py/file-not-closed
2026-06-17 12:36:04 +01:00
Joe Farebrother
ec40ea800d
Update qldoc
2025-09-09 13:46:52 +01:00
Joe Farebrother
e382f7cd43
Improve check for containment in with statement
2025-09-09 11:26:17 +01:00
Joe Farebrother
bd3fa7fb21
Switch to dataflow check for guards exceptions
...
This reduces some confusing FPs, though appears to introduce another
2025-09-05 16:03:55 +01:00
Joe Farebrother
4cbaeb10e9
Merge pull request #19641 from joefarebrother/python-qual-file-not-closed
...
Python: Improve performance of FileNotClosed query by using basic block reachability
2025-06-26 23:35:38 +01:00
Joe Farebrother
63d7eac127
Ensure exactly one subcategory is used
2025-06-19 14:09:07 +01:00
Joe Farebrother
38072c7863
Fix typo
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-06-02 16:42:27 +01:00
Joe Farebrother
57a0c7a1ab
Performance fix - Use basic blocks instead of full cfg reachability.
2025-06-02 14:33:52 +01:00
Joe Farebrother
acb9c20a76
Use explicit fastTC
2025-04-29 13:22:11 +01:00
Joe Farebrother
2fd9b16736
Attempt performance improvement for fileLocalFlow
2025-03-27 15:45:38 +00:00
Joe Farebrother
d23c3b8a74
Revert manual magic
...
This appeared to cause timeouts on DCA.
2025-03-26 09:23:49 +00:00
Joe Farebrother
0fa70db4c2
Review suggestions - update comment and introduce manual magic to filelocalflow
2025-03-25 08:55:55 +00:00
Joe Farebrother
a46c157e46
Add quality tag + tweak description
2025-03-21 09:24:54 +00:00
Joe Farebrother
bdbdcf8bd8
Clean up charpred of WithStatement + fix a comment
2025-03-20 14:28:57 +00:00
Joe Farebrother
3707f107bf
Fix tests + add more tests
2025-03-20 11:35:38 +00:00
Joe Farebrother
2c74ddb853
Add django FileRsponse as a wrapper
2025-03-20 11:35:29 +00:00
Joe Farebrother
b2acfbcf87
Simplify handling of wrapper classes and exception flow + improve qldoc and annotate tests.
2025-03-20 11:35:18 +00:00
Joe Farebrother
f8a0b1c5f9
Update docs, precision, and deprecate old library
2025-03-20 11:35:12 +00:00
Joe Farebrother
f750e22d91
Add case for exception flow
2025-03-20 11:35:01 +00:00
Joe Farebrother
c8fc56560d
Check for wrapper classes
2025-03-20 11:34:51 +00:00
Joe Farebrother
09694c448d
Rewrite file not closed simple case using dataflow
2025-03-20 11:34:33 +00:00
Ian Lynagh
3fcfd32eb1
Make *.ql non-executable
2022-08-24 16:55:11 +01:00
Erik Krogh Kristensen
ff73dbc35c
delete redundant imports
2022-04-22 12:55:28 +02:00
Erik Krogh Kristensen
ddf93b555e
PY: fix some ql/non-doc-block warnings
2022-03-11 11:02:58 +01:00
Taus Brock-Nannestad
f07a7bf8cf
Python: Autoformat everything using qlformat.
...
Will need subsequent PRs fixing up test failures (due to deprecated
methods moving around), but other than that everything should be
straight-forward.
2020-07-07 15:43:52 +02:00
Taus
1608758219
Python: Apply suggestions from documentation review.
...
Co-authored-by: Felicity Chapman <felicitymay@github.com >
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2020-06-25 14:16:44 +02:00
Taus Brock-Nannestad
ccf63e03bb
Python: Document FileOpen.qll.
2020-06-23 14:31:06 +02:00
Taus Brock-Nannestad
2d8770d17c
Python: Fix remaining deprecation warnings.
2020-04-16 14:03:21 +02:00
Rasmus Wriedt Larsen
aeaaab6437
Python: Modernise Resources/ queries
2020-01-22 11:20:31 +01:00
Rasmus Wriedt Larsen
47b932d6ce
Python: Autoformat Resources/ queries
2020-01-22 11:20:28 +01:00
Mark Shannon
e34ccae1fc
Python ESSA: Move all Essa code to semmle.python.essa folder.
2019-08-20 11:41:46 +01:00
Mark Shannon
adadd4942b
Python: Remove BuiltinFunctionObject module as it is clearer and more concise to use ModuleObject::builtin().
2019-02-20 11:23:48 +00:00
Mark Shannon
35fa5d8f60
Python move various theXXX() predicates into the appropriate module.
2019-02-20 10:34:08 +00:00
Mark Shannon
5f58824d1b
Initial commit of Python queries and QL libraries.
2018-11-19 15:10:42 +00:00