diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2017-09-22 13:16:24 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2017-09-22 13:16:24 +0200 |
| commit | 324664de571ae91344a03c3b1412a0db06e5b3b8 (patch) | |
| tree | 6c16cb17a17f5d065e8e739c5bf967f09b067837 /pkg | |
| parent | 913d592f973a0155647473eaa032711fe956f8a5 (diff) | |
pkg/repro: fix nil target in prog
Diffstat (limited to 'pkg')
| -rw-r--r-- | pkg/repro/repro.go | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/pkg/repro/repro.go b/pkg/repro/repro.go index 3d5672dae..32a48f87a 100644 --- a/pkg/repro/repro.go +++ b/pkg/repro/repro.go @@ -334,7 +334,7 @@ func (ctx *context) extractProgBisect(entries []*prog.LogEntry, baseDuration tim if err != nil { return nil, err } - if entries == nil { + if len(entries) == 0 { return nil, nil } @@ -345,20 +345,22 @@ func (ctx *context) extractProgBisect(entries []*prog.LogEntry, baseDuration tim ctx.reproLog(3, "bisect: trying to concatenate") // Concatenate all programs into one. - var prog prog.Prog + prog := &prog.Prog{ + Target: entries[0].P.Target, + } for _, entry := range entries { prog.Calls = append(prog.Calls, entry.P.Calls...) } // Execute the program without fault injection. dur := duration(len(entries)) * 3 / 2 - crashed, err := ctx.testProg(&prog, dur, opts) + crashed, err := ctx.testProg(prog, dur, opts) if err != nil { return nil, err } if crashed { res := &Result{ - Prog: &prog, + Prog: prog, Duration: dur, Opts: opts, } @@ -375,13 +377,13 @@ func (ctx *context) extractProgBisect(entries []*prog.LogEntry, baseDuration tim if entry.FaultCall < 0 || entry.FaultCall >= len(entry.P.Calls) { opts.FaultCall = calls + len(entry.P.Calls) - 1 } - crashed, err := ctx.testProg(&prog, dur, opts) + crashed, err := ctx.testProg(prog, dur, opts) if err != nil { return nil, err } if crashed { res := &Result{ - Prog: &prog, + Prog: prog, Duration: dur, Opts: opts, } |
