From e54ebd9fae7baf2be23097767ca06441b62c438f Mon Sep 17 00:00:00 2001 From: greg7mdp Date: Tue, 3 Sep 2024 08:25:08 -0400 Subject: [PATCH] Update `payloadless` contract to avoid UB in shift operator. --- .../payloadless/payloadless.cpp | 2 +- .../payloadless/payloadless.wasm | Bin 2824 -> 2918 bytes 2 files changed, 1 insertion(+), 1 deletion(-) 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 dc91259462d70f80d797daf22f65c9d27759025d..53cc07f5603f905f772a3a84bbac90ce58f901b1 100644 GIT binary patch delta 188 zcmeAWdnUG_hfz$3i7huZH@~QoiGek-pdhD`frsm?(B_$psT@4d7+IO?8EY6pc=9$* zyU9*m!u4#-4onUTY>rHBybM5!vCx&5fe9qUD!{A6KGTH(3?4Wp1H~2CS1EGvFmgLK z06~Q!2e$%;BeMrDgCnaV3p3CV1s2D;tO8eFMg)Vt7z