Add more assertions, throw if find_output params are invalid

This commit is contained in:
Jack Grigg
2016-10-19 08:49:08 -05:00
parent 328d39d29c
commit aa36398b27
2 changed files with 4 additions and 1 deletions

View File

@@ -43,6 +43,8 @@ void MappedShuffle(RandomAccessIterator first,
{ {
for (size_t i = len-1; i > 0; --i) { for (size_t i = len-1; i > 0; --i) {
auto r = gen(i+1); auto r = gen(i+1);
assert(r >= 0);
assert(r <= i);
std::swap(first[i], first[r]); std::swap(first[i], first[r]);
std::swap(mapFirst[i], mapFirst[r]); std::swap(mapFirst[i], mapFirst[r]);
} }

View File

@@ -36,13 +36,14 @@ int find_output(Object obj, int n) {
} }
Array outputMap = outputMapValue.get_array(); Array outputMap = outputMapValue.get_array();
assert(outputMap.size() == ZC_NUM_JS_OUTPUTS);
for (size_t i = 0; i < outputMap.size(); i++) { for (size_t i = 0; i < outputMap.size(); i++) {
if (outputMap[i] == n) { if (outputMap[i] == n) {
return i; return i;
} }
} }
return -1; throw std::logic_error("n is not present in outputmap");
} }
AsyncRPCOperation_sendmany::AsyncRPCOperation_sendmany( AsyncRPCOperation_sendmany::AsyncRPCOperation_sendmany(