You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Yes so what I'm trying to do is verify that an API is used correctly. Essentially in some cases a condition needs to be checked before a specific read or write method is allowed to be used. So I would like to check that the reads and writes are (control flow) influenced by that check but I want it to be robust against refactoring, e.g. moving the check into a helper function or the read/write.
And I gather your check would work by throwing an exception... I think that to that end you can still use GuardCondition for defining an isBarrier predicate in your ConfigSig implementation (see an isBarrier example here), and data flow will make then sure the barrier also works interprocedurally.
Hmm, that doesn't work unfortunately, because there's no data flow between the check and the checked expression. There is only a control flow influence between the two
The
controls
predicate fromGuardCondition
does not detect influence across function boundaries. Is this intended behavior?Here is the code for my example. Influence from
condition
in line 23 is detected but not from line 14.Similarly the influence on
call()
in line 30 is detected but not on line 8.CodeQL version: 2.19.3
The text was updated successfully, but these errors were encountered: