From 3afdc43e69b6fe531d38c7757dd94f4fe9768776 Mon Sep 17 00:00:00 2001 From: "Owain G. Ainsworth" Date: Mon, 14 Oct 2013 21:56:23 +0100 Subject: [PATCH] Fix reference counting when expiring peers. --- addrmanager.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addrmanager.go b/addrmanager.go index 03dfc9f7..43d8f819 100644 --- a/addrmanager.go +++ b/addrmanager.go @@ -261,9 +261,9 @@ func (a *AddrManager) expireNew(bucket int) { if bad(v) { log.Tracef("AMGR: expiring bad address %v", k) delete(a.addrNew[bucket], k) - a.nNew-- v.refs-- if v.refs == 0 { + a.nNew-- delete(a.addrIndex, k) } return @@ -280,9 +280,9 @@ func (a *AddrManager) expireNew(bucket int) { log.Tracef("AMGR: expiring oldest address %v", key) delete(a.addrNew[bucket], key) - a.nNew-- oldest.refs-- if oldest.refs == 0 { + a.nNew-- delete(a.addrIndex, key) } }