lamports += -> checked_add_lamports (#16791)

This commit is contained in:
Jeff Washington (jwash)
2021-04-27 09:11:35 -05:00
committed by GitHub
parent 81402ee7f5
commit 4e7e675c07
3 changed files with 37 additions and 18 deletions

View File

@ -421,7 +421,9 @@ fn process_loader_upgradeable_instruction(
program.try_account_ref_mut()?.executable = true;
// Drain the Buffer account back to the payer
payer.try_account_ref_mut()?.lamports += buffer.lamports()?;
payer
.try_account_ref_mut()?
.checked_add_lamports(buffer.lamports()?)?;
buffer.try_account_ref_mut()?.lamports = 0;
ic_logger_msg!(logger, "Deployed program {:?}", program.unsigned_key());
@ -547,9 +549,10 @@ fn process_loader_upgradeable_instruction(
// Fund ProgramData to rent-exemption, spill the rest
spill.try_account_ref_mut()?.lamports += (programdata.lamports()?
+ buffer.lamports()?)
.saturating_sub(programdata_balance_required);
spill.try_account_ref_mut()?.checked_add_lamports(
(programdata.lamports()? + buffer.lamports()?)
.saturating_sub(programdata_balance_required),
)?;
buffer.try_account_ref_mut()?.lamports = 0;
programdata.try_account_ref_mut()?.lamports = programdata_balance_required;
@ -640,7 +643,9 @@ fn process_loader_upgradeable_instruction(
return Err(InstructionError::MissingRequiredSignature);
}
recipient_account.try_account_ref_mut()?.lamports += close_account.lamports()?;
recipient_account
.try_account_ref_mut()?
.checked_add_lamports(close_account.lamports()?)?;
close_account.try_account_ref_mut()?.lamports = 0;
for elt in close_account.try_account_ref_mut()?.data_as_mut_slice() {
*elt = 0;