checked_sub_lamports (#16923)

This commit is contained in:
Jeff Washington (jwash)
2021-04-29 12:38:21 -05:00
committed by GitHub
parent ca7b36ad8f
commit c9c94a7ef2
2 changed files with 6 additions and 4 deletions

View File

@ -1158,7 +1158,7 @@ impl<'a> StakeAccount for KeyedAccount<'a> {
split split
.try_account_ref_mut()? .try_account_ref_mut()?
.checked_add_lamports(lamports)?; .checked_add_lamports(lamports)?;
self.try_account_ref_mut()?.lamports -= lamports; self.try_account_ref_mut()?.checked_sub_lamports(lamports)?;
Ok(()) Ok(())
} else { } else {
Err(InstructionError::InvalidAccountData) Err(InstructionError::InvalidAccountData)
@ -1204,7 +1204,9 @@ impl<'a> StakeAccount for KeyedAccount<'a> {
// Drain the source stake account // Drain the source stake account
let lamports = source_account.lamports()?; let lamports = source_account.lamports()?;
source_account.try_account_ref_mut()?.lamports -= lamports; source_account
.try_account_ref_mut()?
.checked_sub_lamports(lamports)?;
self.try_account_ref_mut()?.checked_add_lamports(lamports)?; self.try_account_ref_mut()?.checked_add_lamports(lamports)?;
Ok(()) Ok(())
} }
@ -1285,7 +1287,7 @@ impl<'a> StakeAccount for KeyedAccount<'a> {
self.set_state(&StakeState::Uninitialized)?; self.set_state(&StakeState::Uninitialized)?;
} }
self.try_account_ref_mut()?.lamports -= lamports; self.try_account_ref_mut()?.checked_sub_lamports(lamports)?;
to.try_account_ref_mut()?.checked_add_lamports(lamports)?; to.try_account_ref_mut()?.checked_add_lamports(lamports)?;
Ok(()) Ok(())
} }

View File

@ -189,7 +189,7 @@ fn transfer_verified(
return Err(SystemError::ResultWithNegativeLamports.into()); return Err(SystemError::ResultWithNegativeLamports.into());
} }
from.try_account_ref_mut()?.lamports -= lamports; from.try_account_ref_mut()?.checked_sub_lamports(lamports)?;
to.try_account_ref_mut()?.checked_add_lamports(lamports)?; to.try_account_ref_mut()?.checked_add_lamports(lamports)?;
Ok(()) Ok(())
} }