From c1c6de6ad4f92c6628dccc271fe4c661e450d130 Mon Sep 17 00:00:00 2001 From: Pieter Wuille Date: Wed, 25 Jan 2012 03:05:16 +0100 Subject: [PATCH] Check consistency of private keys Reported by onlineproof on IRC: Bitcoin does not verify whether private keys and public keys correspond, when loading a wallet. --- src/db.cpp | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/src/db.cpp b/src/db.cpp index f9a7d6c..bd31bd7 100644 --- a/src/db.cpp +++ b/src/db.cpp @@ -879,6 +879,8 @@ int CWalletDB::LoadWallet(CWallet* pwallet) CPrivKey pkey; ssValue >> pkey; key.SetPrivKey(pkey); + if (key.GetPubKey() != vchPubKey) + return DB_CORRUPT; } else { -- 1.7.1