From d2d0fd02fadfc38dc86444faafe07ab92369a12b Mon Sep 17 00:00:00 2001 From: Mark Friedenbach Date: Fri, 10 Mar 2017 04:39:34 -0800 Subject: [PATCH] CT: Don't assume size of a serialized pubkey (removes a magic number). --- src/blind.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/blind.cpp b/src/blind.cpp index 367e6566ea..7d92deea9d 100644 --- a/src/blind.cpp +++ b/src/blind.cpp @@ -217,8 +217,9 @@ int BlindOutputs(std::vector& input_blinding_factors, const std::vecto CKey ephemeral_key; ephemeral_key.MakeNewKey(true); CPubKey ephemeral_pubkey = ephemeral_key.GetPubKey(); - out.nNonce.vchCommitment.resize(33); - memcpy(&out.nNonce.vchCommitment[0], &ephemeral_pubkey[0], 33); + assert(ephemeral_pubkey.size() == CConfidentialNonce::nCommittedSize); + out.nNonce.vchCommitment.resize(ephemeral_pubkey.size()); + memcpy(&out.nNonce.vchCommitment[0], &ephemeral_pubkey[0], ephemeral_pubkey.size()); // Generate nonce uint256 nonce = ephemeral_key.ECDH(output_pubkeys[nOut]); CSHA256().Write(nonce.begin(), 32).Finalize(nonce.begin());