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() { Access getAnAccess() {
exists(Instruction dst | exists(Instruction dst |
this.bigStep(instr) = dst and this.bigStep() = dst and
dst.getAst() = result and dst.getAst() = result and
valueNumber(dst) = valNum valueNumber(dst) = valNum
) )
} }
private Instruction bigStep(Instruction i) { private Instruction bigStep() {
result = this.smallStep(i) result = this.smallStep(instr)
or 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) { private Instruction smallStep(Instruction i) {