Pieces Protocol

First Flight #32
Beginner FriendlyFoundrySolidityNFT
100 EXP
View results
Submission Details
Severity: low
Invalid

Redundant Address Zero Check in transferErcTokens Function

Summary

The transferErcTokens function redundantly checks if the to address is zero (address(0)) twice. This duplication is unnecessary, as a single check is sufficient to validate the input. This redundancy increases gas consumption and reduces code efficiency without providing any additional functionality.

Vulnerability Details

function transferErcTokens(address nftAddress,address to, uint256 amount) external {
if(nftAddress == address(0)) {
revert TokenDivider__NftAddressIsZero();
}
--> if(to == address(0)) {
revert TokenDivider__CantTransferToAddressZero();
}
if(amount == 0) {
revert TokenDivider__AmountCantBeZero();
}
ERC20Info memory tokenInfo = nftToErc20Info[nftAddress];
--> if(to == address(0)) {
revert TokenDivider__CantTransferToAddressZero();
}

Impact

  1. Each additional check consumes unnecessary gas.

  2. Users calling this function will pay more in transaction fees.

Tools Used

Manual

Recommendations

Use only one check

Updates

Lead Judging Commences

fishy Lead Judge 4 months ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity

Support

FAQs

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