diff --git a/unittests/test-contracts/payloadless/payloadless.cpp b/unittests/test-contracts/payloadless/payloadless.cpp index 46566c3215..e9556ca5ed 100644 --- a/unittests/test-contracts/payloadless/payloadless.cpp +++ b/unittests/test-contracts/payloadless/payloadless.cpp @@ -29,8 +29,8 @@ bool is_prime(int p) { bool is_mersenne_prime(int p) { if (p == 2) return true; - const long long unsigned m_p = (1LLU << p) - 1; long long unsigned s = 4; + const long long unsigned m_p = (1LLU << (p % (sizeof(s) * 8))) - 1; int i; for (i = 3; i <= p; i++) { s = (s * s - 2) % m_p; diff --git a/unittests/test-contracts/payloadless/payloadless.wasm b/unittests/test-contracts/payloadless/payloadless.wasm index dc91259462..53cc07f560 100644 Binary files a/unittests/test-contracts/payloadless/payloadless.wasm and b/unittests/test-contracts/payloadless/payloadless.wasm differ