Fix: make CCoinsViewDbCursor::Seek work for missing keys

Thanks to Suhas Daftuar for figuring this out.

Github-Pull: #10445
Rebased-From: 822755a424
This commit is contained in:
Pieter Wuille 2017-05-23 10:04:14 -07:00 committed by Luke Dashjr
parent 28b8b8b603
commit 87a21d5922

View file

@ -98,7 +98,11 @@ CCoinsViewCursor *CCoinsViewDB::Cursor() const
that restriction. */
i->pcursor->Seek(DB_COINS);
// Cache key of first record
i->pcursor->GetKey(i->keyTmp);
if (i->pcursor->Valid()) {
i->pcursor->GetKey(i->keyTmp);
} else {
i->keyTmp.first = 0; // Make sure Valid() and GetKey() return false
}
return i;
}