RustFund

First Flight #36
Beginner FriendlyRust
100 EXP
View results
Submission Details
Severity: medium
Invalid

Potential Integer Overflow in contribute

Summary

The contribute function adds to amount_raised without overflow protection.

Vulnerability Details

The line :

fund.amount_raised += amount

lacks checked arithmetic, which could theoretically overflow u64 (though the limit is very high: 2^64-1).

Impact

If {amount_raised + amount }exceeds {u64::MAX}, it will wrap around, corrupting the fund's state and potentially allowing unintended behavior.

Tools Used

Manual Code Review

Recommendations

Use checked addition:

fund.amount_raised = fund.amount_raised
.checked_add(amount)
.ok_or(ErrorCode::CalculationOverflow)?;
Updates

Appeal created

bube Lead Judge 3 months ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity
Assigned finding tags:

[Invalid] Arithmetic overflow in `contribute` function

The max value of u64 is: 18,446,744,073,709,551,615 or around 18.4 billion SOL, given that the total supply of SOL on Solana is 512.50M, the scenario when the `contribute` function will revert due to overflow is very very unlikely to happen. Therefore, this is informational finding.

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.