C++: Optimize MissingCheckScanf/bigStep()

This commit is contained in:
Nora Dimitrijević
2022-08-25 17:12:25 +02:00
parent 02772ed20c
commit 7d24d96d80

View File

@@ -66,16 +66,16 @@ class ScanfOutput extends Expr {
*/
Access getAnAccess() {
exists(Instruction dst |
this.bigStep(instr) = dst and
this.bigStep() = dst and
dst.getAst() = result and
valueNumber(dst) = valNum
)
}
private Instruction bigStep(Instruction i) {
result = this.smallStep(i)
private Instruction bigStep() {
result = this.smallStep(instr)
or
exists(Instruction j | j = this.bigStep(i) | result = this.smallStep(j))
exists(Instruction i | i = this.bigStep() | result = this.smallStep(i))
}
private Instruction smallStep(Instruction i) {