From c1641491e47613ad780871c3c996fe8025b97708 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Thu, 6 Dec 2018 16:49:37 +0100 Subject: pkg/db: provide helper function for database creation This is needed for both tools/syz-db and tools/syz-trace2syz. Also, remove code to resolve SHA1 collisions. Also, don't set db version as we actually want to minimize and smash these programs like anything else (not minimizing nor smashing them is only useful during tool testing). --- tools/syz-db/syz-db.go | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) (limited to 'tools/syz-db') diff --git a/tools/syz-db/syz-db.go b/tools/syz-db/syz-db.go index ecf85495c..6aa96a0c0 100644 --- a/tools/syz-db/syz-db.go +++ b/tools/syz-db/syz-db.go @@ -60,14 +60,7 @@ func pack(dir, file string, target *prog.Target, version uint64) { if err != nil { failf("failed to read dir: %v", err) } - os.Remove(file) - db, err := db.Open(file) - if err != nil { - failf("failed to open database file: %v", err) - } - if err := db.BumpVersion(version); err != nil { - failf("failed to bump database version: %v", err) - } + var records []db.Record for _, file := range files { data, err := ioutil.ReadFile(filepath.Join(dir, file.Name())) if err != nil { @@ -93,10 +86,13 @@ func pack(dir, file string, target *prog.Target, version uint64) { fmt.Fprintf(os.Stderr, "fixing hash %v -> %v\n", key, sig) key = sig } - db.Save(key, data, seq) + records = append(records, db.Record{ + Val: data, + Seq: seq, + }) } - if err := db.Flush(); err != nil { - failf("failed to save database file: %v", err) + if err := db.Create(file, version, records); err != nil { + failf("%v", err) } } -- cgit mrf-deployment