contracts/core/ccip/SDLPoolCCIPControllerPrimary.sol#300
In particular, the line that raises concern is:
reSDLSupplyByChain[sourceChainSelector] += uint256(totalRESDLSupplyChange);
This line takes an int256 value (totalRESDLSupplyChange) and converts it to uint256 before using it to modify a variable in reSDLSupplyByChain. The danger here lies in that if totalRESDLSupplyChange is negative, converting a negative number to uint256 can result in a large and unexpected number, as unsigned integers (uint) cannot represent negative numbers. This could cause unexpected behaviors or logical errors in the contract.
Overflow Attack
Audit Wizard, Slither, Chat GPT, Manual Review
The recommendation is to use clear constants or handle such conversions with greater caution, as converting signed integers to unsigned integers can be risky if not handled correctly.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.