Skip to content

Dataflow: Allow a config access path limit above the language default. - #23049

Merged
aschackmull merged 2 commits into
github:mainfrom
aschackmull:dataflow/accesspathlimit
Nov 10, 2026
Merged

aschackmull merged 2 commits into
github:mainfrom
aschackmull:dataflow/accesspathlimit

Conversation

@aschackmull

Copy link
Copy Markdown
Contributor

A recent performance improvement in data flow (#22392) accidentally introduced an upper bound of the supported access path limit values in configurations equal to the language default access path limit.

While the performance improvement necessitates an up-front configuration-independent upper bound, we might as well bump that a bit, so configurations can opt to increase the limit if so desired.

See also the reported issues #23041 and #23042.

@aschackmull
aschackmull requested a review from a team as a code owner November 9, 2026 08:47
@aschackmull aschackmull added the no-change-note-required This PR does not need a change note label Nov 9, 2026
@aschackmull
aschackmull requested review from hvitved and an auto review from Copilot November 9, 2026 08:47

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The existing default-limit test does not cover the restored above-default behavior or configuration-specific boundaries, including lower-limit and new-cap cases.

1 open issue
What changed in this PR

This PR addresses the above-default access-path limit regression introduced by #22392, allowing custom data-flow configurations to track longer paths while retaining a configuration-independent upper bound.

Changes:

  • Raises the cached access-path length cap to the greater of 10 or twice the language default.
  • Uses the configured limit in forward and reverse access-path length checks.
File Description
shared/​dataflow/​codeql/​dataflow/​internal/​DataFlowImplCommon.qll Expands exact and approximate access-path front domains using the new cap.
shared/​dataflow/​codeql/​dataflow/​internal/​DataFlowImpl.qll Applies configuration-specific limits to forward and reverse flow checks.

Review effort: Balanced (auto)

@aschackmull
aschackmull merged commit 021e538 into github:main Nov 10, 2026
108 of 109 checks passed
@aschackmull
aschackmull deleted the dataflow/accesspathlimit branch November 10, 2026 08:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

DataFlow Library no-change-note-required This PR does not need a change note

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants