diff --git a/eth/handler.go b/eth/handler.go index 62befdbd09..aa01b444ef 100644 --- a/eth/handler.go +++ b/eth/handler.go @@ -509,6 +509,7 @@ func (h *handler) runDiffExtension(peer *diff.Peer, handler diff.Handler) error if err := h.peers.registerDiffExtension(peer); err != nil { peer.Log().Error("Diff extension registration failed", "err", err) + peer.Close() return err } return handler(peer) diff --git a/eth/handler_diff.go b/eth/handler_diff.go index 6d5436bf9a..99f174ecd3 100644 --- a/eth/handler_diff.go +++ b/eth/handler_diff.go @@ -45,6 +45,7 @@ func (h *diffHandler) RunPeer(peer *diff.Peer, hand diff.Handler) error { wait <- peer } ps.lock.Unlock() + peer.Close() return err } return (*handler)(h).runDiffExtension(peer, hand)