From 5e0187e5f491221a9b1eef0d48e0f3f13e0747fb Mon Sep 17 00:00:00 2001 From: andrew Date: Tue, 3 Oct 2023 19:02:25 +0100 Subject: [PATCH 1/3] Fix unchecked arithmetic on remaining integration-tests --- crates/ink/tests/ui/contract/pass/example-incrementer-works.rs | 2 +- .../tests/ui/contract/pass/example-trait-incrementer-works.rs | 2 +- .../trait-dyn-cross-contract-calls/contracts/incrementer/lib.rs | 2 +- .../upgradeable-contracts/delegator/delegatee/lib.rs | 2 +- .../set-code-hash/updated-incrementer/lib.rs | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/crates/ink/tests/ui/contract/pass/example-incrementer-works.rs b/crates/ink/tests/ui/contract/pass/example-incrementer-works.rs index 10e87e1f564..25731eeb5b1 100644 --- a/crates/ink/tests/ui/contract/pass/example-incrementer-works.rs +++ b/crates/ink/tests/ui/contract/pass/example-incrementer-works.rs @@ -14,7 +14,7 @@ mod incrementer { #[ink(message)] pub fn inc_by(&mut self, delta: i64) { - self.value += delta; + self.value.checked_add(delta).unwrap(); } #[ink(message)] diff --git a/crates/ink/tests/ui/contract/pass/example-trait-incrementer-works.rs b/crates/ink/tests/ui/contract/pass/example-trait-incrementer-works.rs index 3cda50570b5..c6fe900d65b 100644 --- a/crates/ink/tests/ui/contract/pass/example-trait-incrementer-works.rs +++ b/crates/ink/tests/ui/contract/pass/example-trait-incrementer-works.rs @@ -35,7 +35,7 @@ mod incrementer { #[ink(message)] pub fn inc_by(&mut self, delta: i64) { - self.value += delta; + self.value.checked_add(delta).unwrap(); } } diff --git a/integration-tests/trait-dyn-cross-contract-calls/contracts/incrementer/lib.rs b/integration-tests/trait-dyn-cross-contract-calls/contracts/incrementer/lib.rs index 0dcbb80076c..966ea7668b1 100644 --- a/integration-tests/trait-dyn-cross-contract-calls/contracts/incrementer/lib.rs +++ b/integration-tests/trait-dyn-cross-contract-calls/contracts/incrementer/lib.rs @@ -23,7 +23,7 @@ pub mod incrementer { /// Increases the value of the incrementer by an amount. #[ink(message)] pub fn inc_by(&mut self, delta: u64) { - self.value += delta; + self.value.checked_add(delta).unwrap(); } } diff --git a/integration-tests/upgradeable-contracts/delegator/delegatee/lib.rs b/integration-tests/upgradeable-contracts/delegator/delegatee/lib.rs index 72b9f379e81..af761b5bd55 100644 --- a/integration-tests/upgradeable-contracts/delegator/delegatee/lib.rs +++ b/integration-tests/upgradeable-contracts/delegator/delegatee/lib.rs @@ -30,7 +30,7 @@ pub mod delegatee { /// Increments the current value. #[ink(message)] pub fn inc(&mut self) { - self.counter += 2; + self.counter = self.counter.checked_add(2).unwrap(); } /// Adds current value of counter to the `addresses` diff --git a/integration-tests/upgradeable-contracts/set-code-hash/updated-incrementer/lib.rs b/integration-tests/upgradeable-contracts/set-code-hash/updated-incrementer/lib.rs index 44c2e62f28c..7741181a20e 100644 --- a/integration-tests/upgradeable-contracts/set-code-hash/updated-incrementer/lib.rs +++ b/integration-tests/upgradeable-contracts/set-code-hash/updated-incrementer/lib.rs @@ -41,7 +41,7 @@ pub mod incrementer { /// We use a different step size (4) here than in the original `incrementer`. #[ink(message)] pub fn inc(&mut self) { - self.count += 4; + self.count = self.count.checked_add(4).unwrap(); ink::env::debug_println!("The new count is {}, it was modified using the updated `new_incrementer` code.", self.count); } From 4a5544b4d41213915241387ff1c06db0e7e424e2 Mon Sep 17 00:00:00 2001 From: andrew Date: Tue, 3 Oct 2023 19:03:55 +0100 Subject: [PATCH 2/3] Fix --- .../trait-dyn-cross-contract-calls/contracts/incrementer/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/integration-tests/trait-dyn-cross-contract-calls/contracts/incrementer/lib.rs b/integration-tests/trait-dyn-cross-contract-calls/contracts/incrementer/lib.rs index 966ea7668b1..7ef3912b9af 100644 --- a/integration-tests/trait-dyn-cross-contract-calls/contracts/incrementer/lib.rs +++ b/integration-tests/trait-dyn-cross-contract-calls/contracts/incrementer/lib.rs @@ -23,7 +23,7 @@ pub mod incrementer { /// Increases the value of the incrementer by an amount. #[ink(message)] pub fn inc_by(&mut self, delta: u64) { - self.value.checked_add(delta).unwrap(); + self.value = self.value.checked_add(delta).unwrap(); } } From 699f30f0e23de19eb1001531df54e0d1e46ab3d8 Mon Sep 17 00:00:00 2001 From: andrew Date: Tue, 3 Oct 2023 19:05:28 +0100 Subject: [PATCH 3/3] Fix --- crates/ink/tests/ui/contract/pass/example-incrementer-works.rs | 2 +- .../tests/ui/contract/pass/example-trait-incrementer-works.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/ink/tests/ui/contract/pass/example-incrementer-works.rs b/crates/ink/tests/ui/contract/pass/example-incrementer-works.rs index 25731eeb5b1..746ed2bca41 100644 --- a/crates/ink/tests/ui/contract/pass/example-incrementer-works.rs +++ b/crates/ink/tests/ui/contract/pass/example-incrementer-works.rs @@ -14,7 +14,7 @@ mod incrementer { #[ink(message)] pub fn inc_by(&mut self, delta: i64) { - self.value.checked_add(delta).unwrap(); + self.value = self.value.checked_add(delta).unwrap(); } #[ink(message)] diff --git a/crates/ink/tests/ui/contract/pass/example-trait-incrementer-works.rs b/crates/ink/tests/ui/contract/pass/example-trait-incrementer-works.rs index c6fe900d65b..c0f051a62ce 100644 --- a/crates/ink/tests/ui/contract/pass/example-trait-incrementer-works.rs +++ b/crates/ink/tests/ui/contract/pass/example-trait-incrementer-works.rs @@ -35,7 +35,7 @@ mod incrementer { #[ink(message)] pub fn inc_by(&mut self, delta: i64) { - self.value.checked_add(delta).unwrap(); + self.value = self.value.checked_add(delta).unwrap(); } }