diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2022-01-31 08:41:02 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2022-02-01 10:36:21 +0100 |
| commit | c1c1631dc5fb629cdde3d49f7a2393a63d595957 (patch) | |
| tree | 0f44dd0e5ec4da00552fd7847dfdccec149715a5 /syz-hub | |
| parent | 6b7c57fe456c070981403f31bb6dfcb2ad2a92c3 (diff) | |
pkg/db: make repair of the db file optional
It was too radical to repair and overwrite db file unconditionally.
syz-execprog probes if a given file is a database. Usually it's a crash log
or a single program, but db.Open started to overwrite it.
And an explicit repair flag in db.Open and enable it only in
syz-manager and syz-hub.
Fixes #2997
Diffstat (limited to 'syz-hub')
| -rw-r--r-- | syz-hub/state/state.go | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/syz-hub/state/state.go b/syz-hub/state/state.go index 44b416d6d..1c7105003 100644 --- a/syz-hub/state/state.go +++ b/syz-hub/state/state.go @@ -102,7 +102,7 @@ func (st *State) Flush() { func loadDB(file, name string, progs bool) (*db.DB, uint64, error) { log.Logf(0, "reading %v...", name) - db, err := db.Open(file) + db, err := db.Open(file, true) if err != nil { return nil, 0, fmt.Errorf("failed to open %v database: %v", name, err) } @@ -198,7 +198,7 @@ func (st *State) Connect(name, domain string, fresh bool, calls []string, corpus os.Remove(mgr.corpusFile) var err error - mgr.Corpus, err = db.Open(mgr.corpusFile) + mgr.Corpus, err = db.Open(mgr.corpusFile, true) if err != nil { log.Logf(0, "failed to open corpus database: %v", err) return err |
