Skip to content

How can i add all possible sink in codeql-java #8742

Answered by smowton
ox1234 asked this question in Q&A
Discussion options

You must be logged in to vote

#8748 should enable you to import these files concurrently.

The situation you're seeing isn't an import loop, btw -- you're seeing a non-monotonic recursion issue (see https://codeql.github.com/docs/ql-language-reference/recursion/#non-monotonic-recursion)

However this one is a deliberately induced non-monotonic recursion by the class ConfigurationRecursionPrevention, which seeks to prevent a common error: having a DataFlow::Configuration that depends on another DataFlow::Configuration, like isSource(DataFlow::Node n) { any(MyOtherConfiguration c).hasFlowTo(n) }.

In QL terms there's nothing wrong with this, but the performance of such code is so bad that we introduce ConfigurationRecursio…

Replies: 1 comment 1 reply

Comment options

You must be logged in to vote
1 reply
@ox1234
Comment options

Answer selected by ox1234
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants