diff options
| author | Grigory Bazilevich <g.bazilevich@ispras.ru> | 2026-03-11 09:45:28 +0300 |
|---|---|---|
| committer | Grigory Bazilevich <g.bazilevich@ispras.ru> | 2026-03-12 11:36:36 +0300 |
| commit | f2691ccf4f716c554ff40eba01620b68a8af20a2 (patch) | |
| tree | 0657416328262418fdedd504c4a537e75a829e08 /pkg/manager | |
| parent | 971da9b1ec3e5fda706cb76c22c1306e8e69fc04 (diff) | |
syz-manager: information about probability-only inputs in db
Diffstat (limited to 'pkg/manager')
| -rw-r--r-- | pkg/manager/seeds.go | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/pkg/manager/seeds.go b/pkg/manager/seeds.go index f17c36ecb..b2a288054 100644 --- a/pkg/manager/seeds.go +++ b/pkg/manager/seeds.go @@ -12,6 +12,7 @@ import ( "os" "path/filepath" "runtime" + "sort" "strings" "sync" "time" @@ -79,8 +80,9 @@ func LoadSeeds(cfg *mgrconfig.Config, immutable bool) (Seeds, error) { flags = fuzzer.ProgMinimized } candidates = append(candidates, fuzzer.Candidate{ - Prog: inp.Prog, - Flags: flags, + Prog: inp.Prog, + Flags: flags, + ProbOnly: inp.Seq == db.SeqProb, }) } if err := <-chErr; err != nil { @@ -101,6 +103,9 @@ func LoadSeeds(cfg *mgrconfig.Config, immutable bool) (Seeds, error) { return Seeds{}, fmt.Errorf("failed to save corpus database: %w", err) } } + sort.SliceStable(candidates, func(i, j int) bool { + return !candidates[i].ProbOnly && candidates[j].ProbOnly + }) // Switch database to the mode when it does not keep records in memory. // We don't need them anymore and they consume lots of memory. info.CorpusDB.DiscardData() @@ -111,6 +116,7 @@ func LoadSeeds(cfg *mgrconfig.Config, immutable bool) (Seeds, error) { type input struct { IsSeed bool Key string + Seq uint64 Path string Data []byte Prog *prog.Prog @@ -138,6 +144,7 @@ func readInputs(cfg *mgrconfig.Config, db *db.DB, output chan *input) error { for key, rec := range db.Records { inputs <- &input{ Key: key, + Seq: rec.Seq, Data: rec.Val, } } |
