aboutsummaryrefslogtreecommitdiffstats
path: root/tools/syz-mutate
diff options
context:
space:
mode:
authorVeronica Radu <veronicaradu@google.com>2019-09-09 19:22:04 +0200
committerDmitry Vyukov <dvyukov@google.com>2019-09-23 15:35:26 +0200
commit5a7028d005c1b6be0aa0288ea1bcf3fdd1163560 (patch)
treee3b2a828ee8d6284cf4a95c94d0170abd3024659 /tools/syz-mutate
parentbf7e28925b8894ca13f803f66d16cf2b0ae12430 (diff)
pkg/db: moved ReadCorpus function to avoid duplicate code
Diffstat (limited to 'tools/syz-mutate')
-rw-r--r--tools/syz-mutate/mutate.go24
1 files changed, 4 insertions, 20 deletions
diff --git a/tools/syz-mutate/mutate.go b/tools/syz-mutate/mutate.go
index 56aab8ee1..bde2a27d6 100644
--- a/tools/syz-mutate/mutate.go
+++ b/tools/syz-mutate/mutate.go
@@ -58,9 +58,10 @@ func main() {
if *flagSeed != -1 {
seed = int64(*flagSeed)
}
- var corpus []*prog.Prog
- if *flagCorpus != "" {
- corpus = readCorpus(*flagCorpus, target)
+ corpus, err := db.ReadCorpus(*flagCorpus, target)
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "failed to read corpus: %v", err)
+ os.Exit(1)
}
rs := rand.NewSource(seed)
prios := target.CalculatePriorities(corpus)
@@ -83,20 +84,3 @@ func main() {
}
fmt.Printf("%s\n", p.Serialize())
}
-
-func readCorpus(filename string, target *prog.Target) (corpus []*prog.Prog) {
- dbObj, err := db.Open(filename)
- if err != nil {
- fmt.Fprintf(os.Stderr, "failed to open the corpus file: %v\n", err)
- os.Exit(1)
- }
- for _, v := range dbObj.Records {
- p, err := target.Deserialize(v.Val, prog.NonStrict)
- if err != nil {
- fmt.Fprintf(os.Stderr, "failed to deserialize the program: %v\n", err)
- os.Exit(1)
- }
- corpus = append(corpus, p)
- }
- return corpus
-}