diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2018-12-06 16:49:37 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2018-12-06 16:49:37 +0100 |
| commit | c1641491e47613ad780871c3c996fe8025b97708 (patch) | |
| tree | fc7037a9a2c9af9cb647c05fd3d5ca835463ebe4 /tools/syz-db | |
| parent | d68400a8d17b612757bb456754601b8975a18e06 (diff) | |
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).
Diffstat (limited to 'tools/syz-db')
| -rw-r--r-- | tools/syz-db/syz-db.go | 18 |
1 files changed, 7 insertions, 11 deletions
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) } } |
