From 0aab403cbceac186b7a1766d0ff7907357495756 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Tue, 17 Nov 2020 20:15:43 +0000 Subject: [PATCH] Remove overflow opportunities (#13649) (#13650) (cherry picked from commit a7bed62af00f0d82fac1f6cae9c61fabe97a7d24) Co-authored-by: Tyera Eulberg --- programs/stake/src/stake_state.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/programs/stake/src/stake_state.rs b/programs/stake/src/stake_state.rs index a8c50d815d..7f53c45985 100644 --- a/programs/stake/src/stake_state.rs +++ b/programs/stake/src/stake_state.rs @@ -909,7 +909,7 @@ impl<'a> StakeAccount for KeyedAccount<'a> { // verify full withdrawal can cover rent in new split account || (lamports < split_rent_exempt_reserve && lamports == self.lamports()?) // verify enough lamports left in previous stake and not full withdrawal - || (lamports > self.lamports()? - meta.rent_exempt_reserve + || (lamports + meta.rent_exempt_reserve > self.lamports()? && lamports != self.lamports()?) { return Err(InstructionError::InsufficientFunds); @@ -928,7 +928,7 @@ impl<'a> StakeAccount for KeyedAccount<'a> { // account, this prevents any magic activation of stake by prefunding the // split account. ( - lamports - meta.rent_exempt_reserve, + lamports.saturating_sub(meta.rent_exempt_reserve), lamports - split_rent_exempt_reserve, ) } else {