Skip to content

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

Open
aschackmull wants to merge 2 commits into
github:mainfrom
aschackmull:dataflow/accesspathlimit
Open

aschackmull wants to merge 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)

This branch has not been deployed

No deployments
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