diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2024-08-08 15:54:45 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2024-08-13 08:36:17 +0000 |
| commit | 24d82c00908b7ce88f806bc92f0e5e5590a836bb (patch) | |
| tree | b6d1a6c99e904c0d9f45aaa2d18c71c5a88d0d9f /pkg/fuzzer | |
| parent | 7b0f4b466c607f4d0fb87ca80c45a43dc937d122 (diff) | |
pkg/fuzzer: don't retry triage in snapshot mode
Diffstat (limited to 'pkg/fuzzer')
| -rw-r--r-- | pkg/fuzzer/fuzzer.go | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/pkg/fuzzer/fuzzer.go b/pkg/fuzzer/fuzzer.go index 17b3d3391..afd131fc4 100644 --- a/pkg/fuzzer/fuzzer.go +++ b/pkg/fuzzer/fuzzer.go @@ -153,7 +153,12 @@ func (fuzzer *Fuzzer) processResult(req *queue.Request, res *queue.Result, flags // Corpus candidates may have flaky coverage, so we give them a second chance. maxCandidateAttempts := 3 if req.Risky() { + // In non-snapshot mode usually we are not sure which exactly input caused the crash, + // so give it one more chance. In snapshot mode we know for sure, so don't retry. maxCandidateAttempts = 2 + if fuzzer.Config.Snapshot { + maxCandidateAttempts = 0 + } } if len(triage) == 0 && flags&ProgFromCorpus != 0 && attempt < maxCandidateAttempts { fuzzer.enqueue(fuzzer.candidateQueue, req, flags, attempt+1) |
