From 1b48db7358a2e8add30b5649419664286019873d Mon Sep 17 00:00:00 2001 From: Aleksandr Nogikh Date: Fri, 12 Jul 2024 15:21:28 +0200 Subject: pkg/repro: don't minimize to 0 calls Minimizing to 0 calls leads to an empty execution log, which leads to an immediate exit of tools/syz-execprog, which would be recognized as "lost connection to machine". --- pkg/repro/repro.go | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'pkg/repro') diff --git a/pkg/repro/repro.go b/pkg/repro/repro.go index 5ef2a52b8..3b0c47e02 100644 --- a/pkg/repro/repro.go +++ b/pkg/repro/repro.go @@ -434,6 +434,11 @@ func (ctx *reproContext) minimizeProg(res *Result) (*Result, error) { res.Prog, _ = prog.Minimize(res.Prog, -1, prog.MinimizeParams{Light: true}, func(p1 *prog.Prog, callIndex int) bool { + if len(p1.Calls) == 0 { + // We do want to keep at least one call, otherwise tools/syz-execprog + // will immediately exit. + return false + } crashed, err := ctx.testProg(p1, res.Duration, res.Opts) if err != nil { ctx.reproLogf(0, "minimization failed with %v", err) -- cgit mrf-deployment