From 5a7028d005c1b6be0aa0288ea1bcf3fdd1163560 Mon Sep 17 00:00:00 2001 From: Veronica Radu Date: Mon, 9 Sep 2019 19:22:04 +0200 Subject: pkg/db: moved ReadCorpus function to avoid duplicate code --- pkg/db/db.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'pkg') diff --git a/pkg/db/db.go b/pkg/db/db.go index e3492031b..17723b224 100644 --- a/pkg/db/db.go +++ b/pkg/db/db.go @@ -21,6 +21,7 @@ import ( "github.com/google/syzkaller/pkg/hash" "github.com/google/syzkaller/pkg/log" "github.com/google/syzkaller/pkg/osutil" + "github.com/google/syzkaller/prog" ) type DB struct { @@ -283,3 +284,21 @@ func Create(filename string, version uint64, records []Record) error { } return nil } + +func ReadCorpus(filename string, target *prog.Target) (progs []*prog.Prog, err error) { + if filename == "" { + return + } + db, err := Open(filename) + if err != nil { + return nil, fmt.Errorf("failed to open database file: %v", err) + } + for _, rec := range db.Records { + p, err := target.Deserialize(rec.Val, prog.NonStrict) + if err != nil { + return nil, fmt.Errorf("failed to deserialize corpus program: %v", err) + } + progs = append(progs, p) + } + return progs, nil +} -- cgit mrf-deployment