From aa25784764e2bb91626bd4d8fc758072b207c5dc Mon Sep 17 00:00:00 2001 From: Gav Wood Date: Fri, 12 Dec 2014 20:44:36 +0100 Subject: [PATCH] Fix alignment of RIPEMD160. --- libethereum/State.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libethereum/State.cpp b/libethereum/State.cpp index bad41d0a5..7ca973e05 100644 --- a/libethereum/State.cpp +++ b/libethereum/State.cpp @@ -82,6 +82,9 @@ bytes ripemd160Code(bytesConstRef _in) { bytes ret(32); ripemd160(_in, &ret); + // leaves the 20-byte hash left-aligned. we want it right-aligned: + memmove(ret.data() + 12, ret.data(), 20); + memset(ret.data(), 0, 12); return ret; }