diff options
Diffstat (limited to 'pkg/corpus/corpus.go')
| -rw-r--r-- | pkg/corpus/corpus.go | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/pkg/corpus/corpus.go b/pkg/corpus/corpus.go index 594521fcc..54c8d96cd 100644 --- a/pkg/corpus/corpus.go +++ b/pkg/corpus/corpus.go @@ -131,6 +131,7 @@ func (corpus *Corpus) Save(inp NewInput) { corpus.mu.Lock() defer corpus.mu.Unlock() + var newItem *Item = nil update := ItemUpdate{ Call: inp.Call, RawCover: inp.RawCover, @@ -143,7 +144,7 @@ func (corpus *Corpus) Save(inp NewInput) { var newCover cover.Cover newCover.Merge(old.Cover) newCover.Merge(inp.Cover) - newItem := &Item{ + newItem = &Item{ Sig: sig, Prog: old.Prog, Call: old.Call, @@ -157,10 +158,8 @@ func (corpus *Corpus) Save(inp NewInput) { if len(newItem.Updates) < maxUpdates { newItem.Updates = append(newItem.Updates, update) } - corpus.progsMap[sig] = newItem - corpus.applyFocusAreas(newItem, inp.Cover) } else { - item := &Item{ + newItem = &Item{ Sig: sig, Call: inp.Call, Prog: inp.Prog, @@ -169,10 +168,11 @@ func (corpus *Corpus) Save(inp NewInput) { Cover: inp.Cover, Updates: []ItemUpdate{update}, } - corpus.progsMap[sig] = item - corpus.applyFocusAreas(item, inp.Cover) - corpus.saveProgram(inp.Prog, inp.Signal) } + corpus.progsMap[sig] = newItem + corpus.applyFocusAreas(newItem, newItem.Cover) + corpus.saveProgram(inp.Prog, newItem.Signal) + corpus.signal.Merge(inp.Signal) newCover := corpus.cover.MergeDiff(inp.Cover) if corpus.updates != nil { |
