code-423n4 / 2021-11-vader-findings

0 stars 0 forks source link

Small precision loss when dividing #233

Closed code423n4 closed 2 years ago

code423n4 commented 2 years ago

Handle

pauliax

Vulnerability details

Impact

A small precision is lost due to division here:

   uint256 half = vaderReceived / 2;
   vader.safeTransfer(msg.sender, half);
   vesting.vestFor(msg.sender, half);

Recommended Mitigation Steps

Quick fix:

   uint256 half = vaderReceived / 2;
   vader.safeTransfer(msg.sender, half);
   vesting.vestFor(msg.sender, vaderReceived - half);