aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGavin Andresen <gavinandresen@gmail.com>2013-10-30 01:03:25 -0700
committerGavin Andresen <gavinandresen@gmail.com>2013-10-30 01:03:25 -0700
commit42a12f22d6b644fcd879da23f6e56c310eb9985f (patch)
tree2af6e7b4c855d896fc090cb476105a73079a0b2e /src
parent951ed190fb8c609db2247eba59665a338ea824a9 (diff)
parenta39967401e0ffb22649b36782435bffdec980255 (diff)
Merge pull request #3176 from Diapolo/key
fix wrong memcmp() usage in CKey::operator==
Diffstat (limited to 'src')
-rw-r--r--src/key.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/key.h b/src/key.h
index ac050356f2..bbe64d6685 100644
--- a/src/key.h
+++ b/src/key.h
@@ -205,7 +205,8 @@ public:
}
friend bool operator==(const CKey &a, const CKey &b) {
- return a.fCompressed == b.fCompressed && memcmp(&a.vch[0], &b.vch[0], 32);
+ return a.fCompressed == b.fCompressed && a.size() == b.size() &&
+ memcmp(&a.vch[0], &b.vch[0], a.size()) == 0;
}
// Initialize using begin and end iterators to byte data.
@@ -261,9 +262,9 @@ public:
// Derive BIP32 child key.
bool Derive(CKey& keyChild, unsigned char ccChild[32], unsigned int nChild, const unsigned char cc[32]) const;
-
+
// Load private key and check that public key matches.
- bool Load(CPrivKey &privkey, CPubKey &vchPubKey, bool fSkipCheck);
+ bool Load(CPrivKey &privkey, CPubKey &vchPubKey, bool fSkipCheck);
};
struct CExtPubKey {