From 7f33092187bafaece84255bcee4c67cfa192741d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9ter=20Szil=C3=A1gyi?= Date: Fri, 14 Jul 2017 15:03:12 +0300 Subject: [PATCH] eth: close last iterator on successful db upgrage --- eth/db_upgrade.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/eth/db_upgrade.go b/eth/db_upgrade.go index a5f419454d..90111b2b38 100644 --- a/eth/db_upgrade.go +++ b/eth/db_upgrade.go @@ -53,7 +53,9 @@ func upgradeDeduplicateData(db ethdb.Database) func() error { // Create an iterator to read the entire database and covert old lookup entires it := db.(*ethdb.LDBDatabase).NewIterator() defer func() { - it.Release() + if it != nil { + it.Release() + } }() var ( @@ -119,6 +121,9 @@ func upgradeDeduplicateData(db ethdb.Database) func() error { } else { log.Error("Database deduplication failed", "deduped", converted, "err", failed) } + it.Release() + it = nil + errc := <-stop errc <- failed }()