Skip to content

Commit c25dd81

Browse files
committed
fix potential i64 overflow calculating cool_down_end_time
1 parent cf6b237 commit c25dd81

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

program/src/processor.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -463,9 +463,11 @@ impl Processor {
463463
let deposit_receipt =
464464
DepositReceipt::try_from_slice_unchecked(&deposit_receipt_data).unwrap();
465465

466-
let cool_down_end_time = u64::from(deposit_receipt.deposit_time)
466+
let cool_down_end_time: i64 = u64::from(deposit_receipt.deposit_time)
467467
.checked_add(deposit_receipt.cool_down_seconds.into())
468-
.expect("overflow") as i64;
468+
.expect("overflow")
469+
.try_into()
470+
.expect("overflow");
469471

470472
// Validate: Owner must be signer during cool down to prevent unintended fee payment
471473
if cool_down_end_time > clock.unix_timestamp && !owner_info.is_signer {

0 commit comments

Comments
 (0)