From 8519224d556be22adbf417beda29cf4a166d3779 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Wed, 19 Dec 2018 09:35:09 +0100 Subject: [PATCH] downloader: fix edgecase where returned index is OOB for downloader --- eth/downloader/downloader.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/eth/downloader/downloader.go b/eth/downloader/downloader.go index 3a177ab9de..b6f5760d9c 100644 --- a/eth/downloader/downloader.go +++ b/eth/downloader/downloader.go @@ -1488,7 +1488,11 @@ func (d *Downloader) importBlockResults(results []*fetchResult) error { blocks[i] = types.NewBlockWithHeader(result.Header).WithBody(result.Transactions, result.Uncles) } if index, err := d.blockchain.InsertChain(blocks); err != nil { - log.Debug("Downloaded item processing failed", "number", results[index].Header.Number, "hash", results[index].Header.Hash(), "err", err) + if index < len(results) { + log.Debug("Downloaded item processing failed", "number", results[index].Header.Number, "hash", results[index].Header.Hash(), "err", err) + } else { + log.Debug("Downloaded item processing failed on sidechain import", "index", index, "err", err) + } return errInvalidChain } return nil