From 29b8fe161bef0ce587168afbfdfa60a4d66c99d9 Mon Sep 17 00:00:00 2001 From: Gregory Sanders Date: Tue, 28 Feb 2017 17:57:52 -0800 Subject: [PATCH] VerifyAmounts: break out asserts into result checks only --- src/validation.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/validation.cpp b/src/validation.cpp index bcd937de20..eef0d07adf 100644 --- a/src/validation.cpp +++ b/src/validation.cpp @@ -669,6 +669,7 @@ bool VerifyAmounts(const CCoinsViewCache& cache, const CTransaction& tx, std::ve // This is used to add in the explicit values unsigned char explBlinds[32]; memset(explBlinds, 0, sizeof(explBlinds)); + int ret; // Tally up value commitments, check balance if (!tx.IsCoinBase()) @@ -685,7 +686,8 @@ bool VerifyAmounts(const CCoinsViewCache& cache, const CTransaction& tx, std::ve if (asset.IsAssetID()) { uint256 fixedAsset; asset.GetAssetID(fixedAsset); - assert(secp256k1_generator_generate(secp256k1_ctx_verify_amounts, &gen, fixedAsset.begin())); + ret = secp256k1_generator_generate(secp256k1_ctx_verify_amounts, &gen, fixedAsset.begin()); + assert(ret != 0); } else if (asset.IsAssetCommitment()) { if (secp256k1_generator_parse(secp256k1_ctx_verify_amounts, &gen, &asset.vchAssetTag[0]) != 1) @@ -729,7 +731,8 @@ bool VerifyAmounts(const CCoinsViewCache& cache, const CTransaction& tx, std::ve if (asset.IsAssetID()) { uint256 fixedAsset; asset.GetAssetID(fixedAsset); - assert(secp256k1_generator_generate(secp256k1_ctx_verify_amounts, &gen, fixedAsset.begin())); + ret = secp256k1_generator_generate(secp256k1_ctx_verify_amounts, &gen, fixedAsset.begin()); + assert(ret != 0); } else if (asset.IsAssetCommitment()) { if (secp256k1_generator_parse(secp256k1_ctx_verify_amounts, &gen, &asset.vchAssetTag[0]) != 1) @@ -787,7 +790,8 @@ bool VerifyAmounts(const CCoinsViewCache& cache, const CTransaction& tx, std::ve if (asset.IsAssetID()) { uint256 fixedAsset; asset.GetAssetID(fixedAsset); - assert(secp256k1_generator_generate(secp256k1_ctx_verify_amounts, &ephemeral_input_tags[i], fixedAsset.begin())); + ret = secp256k1_generator_generate(secp256k1_ctx_verify_amounts, &ephemeral_input_tags[i], fixedAsset.begin()); + assert(ret != 0); } else { if (secp256k1_generator_parse(secp256k1_ctx_verify_amounts, &ephemeral_input_tags[i], &asset.vchAssetTag[0]) != 1)