From a09e63fdad28d2cfe3cf31267da6262d24a12848 Mon Sep 17 00:00:00 2001 From: Steven Roose Date: Mon, 14 Jan 2019 11:08:14 +0000 Subject: [PATCH] Make OP_DETERMINISTICRANDOM endian-safe Fixing a TODO from elements-0.14.1. Signed-off-by: Steven Roose --- src/script/interpreter.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/script/interpreter.cpp b/src/script/interpreter.cpp index 8810f6bd13..2f9555b62b 100644 --- a/src/script/interpreter.cpp +++ b/src/script/interpreter.cpp @@ -1374,8 +1374,8 @@ bool EvalScript(std::vector >& stack, const CScript& hasher.Write(vchSeed.data(), vchSeed.size()); do { if (nHashIndex >= 3) { - //TODO this isn't endian safe - CSHA256(hasher).Write((const unsigned char*)&nCounter, sizeof(nCounter)).Finalize(vchHash.data()); + uint64_t le_counter = htole64(nCounter); + CSHA256(hasher).Write((const unsigned char*)&le_counter, sizeof(nCounter)).Finalize(vchHash.data()); nHashIndex = 0; nCounter++; }