Some ERC20 tokens may not follow the entire ERC20 specification. For example, transfer() and transferFrom() are expected to return true and revert on any failure, but USDT doesn't return any value. OpenZeppelin SafeERC20 library handles these cases.
Tokens that don't perform the transfer and return false are still counted as a correct transfer, an attacker can use that to perform actions for free
it is possible to call some functions without paying any tokens
Manual
Consider using OpenZeppelin's SafeERC20's safeTransfer() and safeTransferFrom() functions instead of calling transfer() and transferFrom() on the token directly.
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.