Mathias Vorreiter Pedersen
b7b731bab7
Merge branch 'main' into mad-write-through-model
2026-06-30 15:12:02 +01:00
Owen Mansel-Chan
ac618e1cb2
Expand FileNameSource for stored xss
2026-06-25 22:50:21 +01:00
Mathias Vorreiter Pedersen
e8fee23093
Go: Fixes after changes to the flow summary API.
2026-06-23 20:33:14 +01:00
Owen Mansel-Chan
2d34b0be1b
Merge branch 'main' into copilot/make-go-use-ssa-library
2026-06-18 14:09:20 +01:00
Owen Mansel-Chan
8c07e95f05
Rename mayCapture to mayUpdateCapturedVariable
2026-06-18 12:41:25 +01:00
Owen Mansel-Chan
f04c8ccbc7
Use module already provided by BasicBlocks lib
2026-06-18 12:37:27 +01:00
Owen Mansel-Chan
0a065c93de
Update QLDoc for ResultNode
2026-06-17 11:03:23 +01:00
Owen Mansel-Chan
99538f0f07
Delete unused predicate (leftover from old implementation)
2026-06-12 22:21:07 +01:00
Owen Mansel-Chan
0e902d0fe3
Fix captured variable liveness
...
- Extend synthetic uncertain reads to function exits of any function
that writes a captured variable, not just the declaring function.
This ensures writes to captured variables inside closures remain
live (matching the old `v.isCaptured()` liveness shortcut).
- Uncomment toString overrides for SsaExplicitDefinition, SsaVariableCapture,
SsaPhiNode, and SsaVariable to restore original output formats.
- Revert test expected files to pre-test-changes state matching the
correct toString formats and capture variable results.
Agent-Logs-Url: https://github.com/github/codeql/sessions/6dbf9d42-b2e2-42a2-984b-8ea31df4e633
Co-authored-by: owen-mc <62447351+owen-mc@users.noreply.github.com >
2026-06-12 22:21:03 +01:00
copilot-swe-agent[bot]
6ccbf16f3c
Make Go use the shared SSA library (codeql.ssa.Ssa)
...
Co-authored-by: owen-mc <62447351+owen-mc@users.noreply.github.com >
Agent-Logs-Url: https://github.com/github/codeql/sessions/b400ebd5-4095-401e-8811-fb550600b3c4
2026-06-12 22:21:02 +01:00
Owen Mansel-Chan
0b493c30cc
Preemptively change toString() for SSA classes
2026-06-12 22:20:51 +01:00
Owen Mansel-Chan
990913519d
Make comment clearer
2026-06-09 12:20:10 +02:00
Owen Mansel-Chan
a92349683e
Deprecate FuncTypeExpr.getResultDecl()
...
It is unused in this library. It could easily be used incorrectly and
silently omit results when `getNumResult() > 1`.
2026-06-09 12:20:04 +02:00
Owen Mansel-Chan
8ce543bf4d
Fix: getNumResult() was wrong in some cases
...
It was the number of result declarations, which is
different from the number of results when one
result declaration declares more than one
variable, as in `x, y int`.
2026-06-09 12:20:02 +02:00
Owen Mansel-Chan
da777a455d
Improve QLDoc
2026-06-09 12:19:58 +02:00
Owen Mansel-Chan
f4f17b01c1
Fix result node and remove SPURIOUS test result
2026-06-09 12:19:56 +02:00
Owen Mansel-Chan
703cea2b65
Model panicking log functions better
2026-06-02 01:32:00 +01:00
Owen Mansel-Chan
e6e8e3d005
Taint doesn't flow through panicking functions
2026-06-02 01:31:44 +01:00
Owen Mansel-Chan
8a1e6d4f64
Add missing QLDocs
2026-06-02 00:41:48 +01:00
Owen Mansel-Chan
1a747dd8be
(Trivial) Fix QLDoc grammar
2026-06-02 00:39:25 +01:00
Owen Mansel-Chan
c99dab1d71
Improve glog (and klog) modelling
2026-06-02 00:16:19 +01:00
Owen Mansel-Chan
8d099cbe38
Recognize more non-returning logging functions
2026-06-02 00:15:58 +01:00
Owen Mansel-Chan
b07d2fb7d7
Merge pull request #21740 from owen-mc/go/overlay-correctness
...
Go: improve accuracy of overlay annotations
2026-04-28 11:35:14 +01:00
Tom Hvitved
2e94b09e6f
Address review comments
2026-04-27 14:18:41 +02:00
Owen Mansel-Chan
710c1ba050
Make getACallee overlay[global]
...
Co-authored-by: Copilot <copilot@github.com >
2026-04-24 12:35:11 +01:00
Tom Hvitved
8e26fa1c81
Go: Avoid combinatorial explosion in mostRecentSideEffect when there are multiple entry points
2026-04-24 13:24:58 +02:00
Owen Mansel-Chan
57eaed4dcc
Refactor: remove fields from EncryptionOperation
...
Co-authored-by: Copilot <copilot@github.com >
2026-04-22 13:37:35 +01:00
Owen Mansel-Chan
bc28e1726c
Refactor to get rid of duplication
2026-04-17 13:24:16 +01:00
Owen Mansel-Chan
9f4fd7fab0
Remove a data flow consistency exclusion
...
This is no longer needed.
2026-04-17 11:27:36 +01:00
Owen Mansel-Chan
f6135b70ea
Remove global function step from local flow
2026-04-16 11:15:01 +01:00
Owen Mansel-Chan
a7fdc4b543
Replace acceptingvalue with acceptingValue
2026-03-27 22:15:45 +00:00
Owen Mansel-Chan
b3285c6ae2
Make description of acceptingvalue column clearer
2026-03-27 11:35:22 +00:00
Owen Mansel-Chan
e680d49c93
Shared: document extensible relations rather than CSV
2026-03-27 09:47:32 +00:00
Owen Mansel-Chan
805d2ec46c
Go: Add provenance to MaD format explanation
2026-03-27 09:47:28 +00:00
Owen Mansel-Chan
10fddc7b96
Add barriers and barrier guards to MaD format explanations
2026-03-27 09:47:24 +00:00
Owen Mansel-Chan
99f4930e24
Explicitly mark DataFlowNodes.qll as overlay[local]
2026-03-13 15:23:39 +00:00
Owen Mansel-Chan
f32f85399a
Mark various files as overlay[local]
2026-03-13 15:03:02 +00:00
Jonas Jensen
c56feb7644
Go: annotate the standard library with for overlay
...
This commit is auto-generated with:
python3 config/add-overlay-annotations.py go
2026-03-13 15:03:01 +00:00
Owen Mansel-Chan
d7d1554461
Merge pull request #21465 from owen-mc/go/small-tweaks
...
Go: improve detection of type expressions when database is missing some type information
2026-03-12 14:58:16 +00:00
Owen Mansel-Chan
c271755985
Add and use exprRefersToNil predicate
2026-03-12 13:28:57 +00:00
Owen Mansel-Chan
a16c43881b
Use "database" instead of "snapshot" in QLDocs
2026-03-12 13:28:06 +00:00
Owen Mansel-Chan
39e0382089
Improve QLDoc for isTypeExprTopDown
2026-03-12 13:28:05 +00:00
Owen Mansel-Chan
22e012c6f4
Expand isTypeExprTopDown
...
We should be using all subtypes of `FieldBase`. This allows us to find
more type expressions, and is also simpler to evaluate.
2026-03-12 13:28:03 +00:00
Owen Mansel-Chan
936c4cc79f
Fix edge case in MaD validation
...
If the db contains no pointer types then we were getting spurious model
validation errors.
2026-02-10 22:32:31 +00:00
Owen Mansel-Chan
90401b3ad3
Merge pull request #21254 from owen-mc/go/astnode-get-enclosing-block
...
Go: Add `AstNode.getEnclosingBlock()`
2026-02-06 22:23:15 +00:00
Owen Mansel-Chan
8aa1bff9a5
Add AstNode.getEnclosingBlock()
2026-02-01 23:06:26 +00:00
Owen Mansel-Chan
52c510bfea
Use shared getScope instead of getRoot
2026-01-28 22:12:30 +00:00
Owen Mansel-Chan
b2f878229d
Use shared getASuccessor and getAPredecessor
2026-01-28 22:12:23 +00:00
Owen Mansel-Chan
3dd6b3fb69
Use shared basic blocks library
2026-01-28 22:11:59 +00:00
Owen Mansel-Chan
c316d51d41
Add ConditionGuardNode.getOutcome
2026-01-28 21:46:26 +00:00