aboutsummaryrefslogtreecommitdiffstats
path: root/tools/syz-execprog
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2022-01-31 08:41:02 +0100
committerDmitry Vyukov <dvyukov@google.com>2022-02-01 10:36:21 +0100
commitc1c1631dc5fb629cdde3d49f7a2393a63d595957 (patch)
tree0f44dd0e5ec4da00552fd7847dfdccec149715a5 /tools/syz-execprog
parent6b7c57fe456c070981403f31bb6dfcb2ad2a92c3 (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 'tools/syz-execprog')
-rw-r--r--tools/syz-execprog/execprog.go2
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/syz-execprog/execprog.go b/tools/syz-execprog/execprog.go
index d22b5a0bf..86667f854 100644
--- a/tools/syz-execprog/execprog.go
+++ b/tools/syz-execprog/execprog.go
@@ -289,7 +289,7 @@ func (ctx *Context) getProgramIndex() int {
func loadPrograms(target *prog.Target, files []string) []*prog.Prog {
var progs []*prog.Prog
for _, fn := range files {
- if corpus, err := db.Open(fn); err == nil {
+ if corpus, err := db.Open(fn, false); err == nil {
for _, rec := range corpus.Records {
p, err := target.Deserialize(rec.Val, prog.NonStrict)
if err != nil {