From 8f2e3e7d9bc04663b51482b122948359043b83ea Mon Sep 17 00:00:00 2001 From: Mike Lang Date: Thu, 24 Nov 2016 14:06:24 -0800 Subject: [PATCH] merger: Fix a pointer bug that trashed the merge process Turns out that when iterating in go, &loop_var is the same address every time --- app/merger.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/merger.go b/app/merger.go index ab0f9379f..a6e23f56e 100644 --- a/app/merger.go +++ b/app/merger.go @@ -49,8 +49,8 @@ func (smartMerger) Merge(reports []report.Report) report.Report { return reports[0] } c := make(chan *report.Report, l) - for _, r := range reports { - c <- &r + for i := range reports { + c <- &reports[i] } for ; l > 1; l-- { go func(left, right *report.Report) {