aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTaras Madan <tarasmadan@google.com>2022-04-04 15:28:02 +0200
committerGitHub <noreply@github.com>2022-04-04 15:28:02 +0200
commit5915c2cba1e553cdb54725d05895213c1046ac61 (patch)
tree468e2811345cb5b9d655491a1506f54d9ea72ac9
parent79a2a8fc833b374ea60f097083e7527c060020b0 (diff)
syz-verifier: log only the first mismatch (#3055)
Closes #3054 Ignore all the consequent failures in the program execution log. Use only the first mismatch for analysis.
-rw-r--r--syz-verifier/verifier.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/syz-verifier/verifier.go b/syz-verifier/verifier.go
index dce8a99c6..f7d7c7835 100644
--- a/syz-verifier/verifier.go
+++ b/syz-verifier/verifier.go
@@ -309,11 +309,14 @@ func (vrf *Verifier) finalizeCallSet(w io.Writer) {
}
}
+// AddCallsExecutionStat ignore all the calls after the first mismatch.
func (vrf *Verifier) AddCallsExecutionStat(results []*ExecResult, program *prog.Prog) {
rr := CompareResults(results, program)
for _, cr := range rr.Reports {
vrf.stats.Calls.IncCallOccurrenceCount(cr.Call)
+ }
+ for _, cr := range rr.Reports {
if !cr.Mismatch {
continue
}
@@ -324,6 +327,7 @@ func (vrf *Verifier) AddCallsExecutionStat(results []*ExecResult, program *prog.
vrf.stats.Calls.AddState(cr.Call, state0)
}
}
+ break
}
}