diff options
author | Péter Szilágyi <peterke@gmail.com> | 2015-05-30 02:15:28 +0800 |
---|---|---|
committer | Péter Szilágyi <peterke@gmail.com> | 2015-06-08 18:23:58 +0800 |
commit | abdfcda4dd223f2a2a932628da1e9388d2670856 (patch) | |
tree | 3559edeac24314e09c11d6e4769f36b34d74428c /eth/downloader/downloader.go | |
parent | 84bc93d8cb3ca2beab96b567507873e53ce80056 (diff) | |
download | dexon-abdfcda4dd223f2a2a932628da1e9388d2670856.tar.gz dexon-abdfcda4dd223f2a2a932628da1e9388d2670856.tar.zst dexon-abdfcda4dd223f2a2a932628da1e9388d2670856.zip |
eth/downloader: short circuit sync if head hash is banned
Diffstat (limited to 'eth/downloader/downloader.go')
-rw-r--r-- | eth/downloader/downloader.go | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/eth/downloader/downloader.go b/eth/downloader/downloader.go index b0d55bc44..af9b6b2b1 100644 --- a/eth/downloader/downloader.go +++ b/eth/downloader/downloader.go @@ -165,6 +165,10 @@ func (d *Downloader) Synchronise(id string, hash common.Hash) error { } defer atomic.StoreInt32(&d.synchronising, 0) + // If the head hash is banned, terminate immediately + if d.banned.Has(hash) { + return ErrInvalidChain + } // Post a user notification of the sync (only once per session) if atomic.CompareAndSwapInt32(&d.notified, 0, 1) { glog.V(logger.Info).Infoln("Block synchronisation started") |