From 4dfd0208613afc9866f22849f14d5c9923d97194 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Fri, 31 May 2024 10:18:59 +0200 Subject: syz-manager: don't duplicate seeds If a seed is already in the corpus, don't use it again. --- syz-manager/manager.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/syz-manager/manager.go b/syz-manager/manager.go index bbc915556..2873f0c1a 100644 --- a/syz-manager/manager.go +++ b/syz-manager/manager.go @@ -682,10 +682,14 @@ func (mgr *Manager) loadCorpus() { seeds := 0 for _, seed := range mgr.seeds { _, item := mgr.loadProg(seed, fuzzer.ProgFromCorpus|fuzzer.ProgMinimized) - if item != nil { - candidates = append(candidates, *item) - seeds++ + if item == nil { + continue + } + if _, ok := mgr.corpusDB.Records[hash.String(item.Prog.Serialize())]; ok { + continue } + candidates = append(candidates, *item) + seeds++ } log.Logf(0, "%-24v: %v (%v broken, %v seeds)", "corpus", len(candidates), broken, seeds) mgr.seeds = nil -- cgit mrf-deployment