diff --git a/src/random.h b/src/random.h index 11be2ee37..1f6f7fef5 100644 --- a/src/random.h +++ b/src/random.h @@ -43,6 +43,8 @@ void MappedShuffle(RandomAccessIterator first, { for (size_t i = len-1; i > 0; --i) { auto r = gen(i+1); + assert(r >= 0); + assert(r <= i); std::swap(first[i], first[r]); std::swap(mapFirst[i], mapFirst[r]); } diff --git a/src/wallet/asyncrpcoperation_sendmany.cpp b/src/wallet/asyncrpcoperation_sendmany.cpp index 4742e2235..d6f412192 100644 --- a/src/wallet/asyncrpcoperation_sendmany.cpp +++ b/src/wallet/asyncrpcoperation_sendmany.cpp @@ -36,13 +36,14 @@ int find_output(Object obj, int n) { } Array outputMap = outputMapValue.get_array(); + assert(outputMap.size() == ZC_NUM_JS_OUTPUTS); for (size_t i = 0; i < outputMap.size(); i++) { if (outputMap[i] == n) { return i; } } - return -1; + throw std::logic_error("n is not present in outputmap"); } AsyncRPCOperation_sendmany::AsyncRPCOperation_sendmany(