aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/corpus/corpus.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/corpus/corpus.go')
-rw-r--r--pkg/corpus/corpus.go14
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 {