aboutsummaryrefslogtreecommitdiff
path: root/src/pubkey.cpp
diff options
context:
space:
mode:
authorJeremy Rubin <jeremy.l.rubin@gmail.com>2017-02-19 13:27:10 -0500
committerJeremy Rubin <jeremy.l.rubin@gmail.com>2017-07-08 13:31:47 -0700
commit500710bd291e0b9f269ef20677a4a849fb76fc06 (patch)
tree08d3fc711f6852fbbec03b97d544a74fc329dd06 /src/pubkey.cpp
parente0451e3e2af64cc975dd76389dc3ea4f8b9c2a62 (diff)
downloadbitcoin-500710bd291e0b9f269ef20677a4a849fb76fc06.tar.xz
Fix 2 subscript[0] bugs in pubkey.cpp, and eliminate one extra size check
Diffstat (limited to 'src/pubkey.cpp')
-rw-r--r--src/pubkey.cpp7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/pubkey.cpp b/src/pubkey.cpp
index a16457ea4e..91af4e56f2 100644
--- a/src/pubkey.cpp
+++ b/src/pubkey.cpp
@@ -172,10 +172,7 @@ bool CPubKey::Verify(const uint256 &hash, const std::vector<unsigned char>& vchS
if (!secp256k1_ec_pubkey_parse(secp256k1_context_verify, &pubkey, &(*this)[0], size())) {
return false;
}
- if (vchSig.size() == 0) {
- return false;
- }
- if (!ecdsa_signature_parse_der_lax(secp256k1_context_verify, &sig, &vchSig[0], vchSig.size())) {
+ if (!ecdsa_signature_parse_der_lax(secp256k1_context_verify, &sig, vchSig.data(), vchSig.size())) {
return false;
}
/* libsecp256k1's ECDSA verification requires lower-S signatures, which have
@@ -274,7 +271,7 @@ bool CExtPubKey::Derive(CExtPubKey &out, unsigned int _nChild) const {
/* static */ bool CPubKey::CheckLowS(const std::vector<unsigned char>& vchSig) {
secp256k1_ecdsa_signature sig;
- if (!ecdsa_signature_parse_der_lax(secp256k1_context_verify, &sig, &vchSig[0], vchSig.size())) {
+ if (!ecdsa_signature_parse_der_lax(secp256k1_context_verify, &sig, vchSig.data(), vchSig.size())) {
return false;
}
return (!secp256k1_ecdsa_signature_normalize(secp256k1_context_verify, NULL, &sig));