diff --git a/src/blind.cpp b/src/blind.cpp index 5d52470623..9f7c158f90 100644 --- a/src/blind.cpp +++ b/src/blind.cpp @@ -37,7 +37,7 @@ static Blind_ECC_Init ecc_init_on_load; bool UnblindConfidentialPair(const CKey &key, const CConfidentialValue& confValue, const CConfidentialAsset& confAsset, const CConfidentialNonce& nNonce, const CScript& committedScript, const std::vector& vchRangeproof, CAmount& amount_out, uint256& blinding_factor_out, CAsset& asset_out, uint256& asset_blinding_factor_out) { - if (!key.IsValid()) { + if (!key.IsValid() || vchRangeproof.size() == 0) { return false; } CPubKey ephemeral_key(nNonce.vchCommitment); diff --git a/src/script/sigcache.cpp b/src/script/sigcache.cpp index 9d7f7e6637..d7601a196c 100644 --- a/src/script/sigcache.cpp +++ b/src/script/sigcache.cpp @@ -153,6 +153,10 @@ bool CachingRangeProofChecker::VerifyRangeProof(const std::vector return true; } + if (vchRangeProof.size() == 0) { + return false; + } + uint64_t min_value, max_value; secp256k1_pedersen_commitment commit; if (secp256k1_pedersen_commitment_parse(secp256k1_ctx_verify_amounts, &commit, &vchValueCommitment[0]) != 1)