downloader: fix edgecase where returned index is OOB for downloader

This commit is contained in:
Martin Holst Swende 2018-12-19 09:35:09 +01:00
parent fe86a707d8
commit 8519224d55
No known key found for this signature in database
GPG key ID: 683B438C05A5DDF0

View file

@ -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