Files
codeql/cpp/ql/test/successor-tests/dostmt/dostmt01.ql
2018-08-02 17:53:23 +01:00

16 lines
491 B
Plaintext

/**
* @name dostmt01
* @description The statement following the do statement in normal is a successor of the condition.
*/
import cpp
from DoStmt ds, int k, LabelStmt l
where
ds.getEnclosingFunction().hasName("normal")
and ds.getParentStmt().hasChild(ds, k)
and ds.getParentStmt().hasChild(l, k + 1)
and l = ds.getCondition().getASuccessor()
and l = ds.getCondition().getAFalseSuccessor()
and count(ds.getCondition().getAFalseSuccessor()) = 1
select ds.getCondition(), l.getName()