You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In all the loops, the variable i is incremented using i++. It is known that using ++i costs less gas per iteration than i++.
Proof of Concept
AirdropDistributionMock.sol:97: for (uint i = 0; i < airdropArray.length; i++) {
SwapUtils.sol:433: for (uint256 i = 0; i < self.pooledTokens.length; i++) {
SwapUtils.sol:535: for (uint256 i = 0; i < numTokens; i++) {
SwapUtils.sol:549: for (uint256 i = 0; i < MAX_LOOP_LIMIT; i++) {
SwapUtils.sol:574: for (uint256 i = 0; i < numTokens; i++) {
SwapUtils.sol:585: for (uint256 i = 0; i < MAX_LOOP_LIMIT; i++) {
SwapUtils.sol:648: for (uint256 i = 0; i < numTokens; i++) {
SwapUtils.sol:852: for (uint256 i = 0; i < numTokens; i++) {
SwapUtils.sol:872: for (uint256 i = 0; i < MAX_LOOP_LIMIT; i++) {
SwapUtils.sol:970: for (uint256 i = 0; i < self.pooledTokens.length; i++) {
SwapUtils.sol:1031: for (uint256 i = 0; i < numTokens; i++) {
SwapUtils.sol:1190: for (uint256 i = 0; i < self.pooledTokens.length; i++) {
SwapUtils.sol:1230: for (uint256 i = 0; i < self.pooledTokens.length; i++) {
SwapUtils.sol:1341: for (uint256 i = 0; i < amounts.length; i++) {
SwapUtils.sol:1440: for (uint256 i = 0; i < self.pooledTokens.length; i++) {
SwapUtils.sol:1449: for (uint256 i = 0; i < self.pooledTokens.length; i++) {
SwapUtils.sol:1471: for (uint256 i = 0; i < self.pooledTokens.length; i++) {
SwapUtils.sol:1492: for (uint256 i = 0; i < self.pooledTokens.length; i++) {
Vesting.sol:116: for (uint256 i = 0; i < timelocks[_addr].length; i++) {
Vesting.sol:148: for (uint256 i = 0; i < timelocks[_addr].length; i++) {
Vesting.sol:170: for (uint256 i = benVestingIndex[_addr]; i < timelocks[_addr].length; i++) {
helper/test/TestSwapReturnValues.sol:27: for (uint8 i; i < n; i++) {
helper/test/TestSwapReturnValues.sol:95: for (uint8 i = 0; i < n; i++) {
helper/test/TestSwapReturnValues.sol:102: for (uint8 i = 0; i < n; i++) {
Swap.sol:158: for (uint8 i = 0; i < _pooledTokens.length; i++) {
PublicSaleBatchWithdraw.sol:29: for (uint i = 0; i < arrayDays.length; i++) {
PublicSaleBatchWithdraw.sol:36: for (uint i = 0; i < length; i++) {
AirdropDistribution.sol:507: for (uint i = 0; i < airdropArray.length; i++) {
Tools Used
Manual testing
Recommended Mitigation Steps
Use ++i instead of i++ to increment the value of an uint variable.
The text was updated successfully, but these errors were encountered:
Handle
Reigada
Vulnerability details
Impact
In all the loops, the variable i is incremented using i++. It is known that using ++i costs less gas per iteration than i++.
Proof of Concept
AirdropDistributionMock.sol:97: for (uint i = 0; i < airdropArray.length; i++) {
SwapUtils.sol:433: for (uint256 i = 0; i < self.pooledTokens.length; i++) {
SwapUtils.sol:535: for (uint256 i = 0; i < numTokens; i++) {
SwapUtils.sol:549: for (uint256 i = 0; i < MAX_LOOP_LIMIT; i++) {
SwapUtils.sol:574: for (uint256 i = 0; i < numTokens; i++) {
SwapUtils.sol:585: for (uint256 i = 0; i < MAX_LOOP_LIMIT; i++) {
SwapUtils.sol:648: for (uint256 i = 0; i < numTokens; i++) {
SwapUtils.sol:852: for (uint256 i = 0; i < numTokens; i++) {
SwapUtils.sol:872: for (uint256 i = 0; i < MAX_LOOP_LIMIT; i++) {
SwapUtils.sol:970: for (uint256 i = 0; i < self.pooledTokens.length; i++) {
SwapUtils.sol:1031: for (uint256 i = 0; i < numTokens; i++) {
SwapUtils.sol:1190: for (uint256 i = 0; i < self.pooledTokens.length; i++) {
SwapUtils.sol:1230: for (uint256 i = 0; i < self.pooledTokens.length; i++) {
SwapUtils.sol:1341: for (uint256 i = 0; i < amounts.length; i++) {
SwapUtils.sol:1440: for (uint256 i = 0; i < self.pooledTokens.length; i++) {
SwapUtils.sol:1449: for (uint256 i = 0; i < self.pooledTokens.length; i++) {
SwapUtils.sol:1471: for (uint256 i = 0; i < self.pooledTokens.length; i++) {
SwapUtils.sol:1492: for (uint256 i = 0; i < self.pooledTokens.length; i++) {
Vesting.sol:116: for (uint256 i = 0; i < timelocks[_addr].length; i++) {
Vesting.sol:148: for (uint256 i = 0; i < timelocks[_addr].length; i++) {
Vesting.sol:170: for (uint256 i = benVestingIndex[_addr]; i < timelocks[_addr].length; i++) {
helper/test/TestSwapReturnValues.sol:27: for (uint8 i; i < n; i++) {
helper/test/TestSwapReturnValues.sol:95: for (uint8 i = 0; i < n; i++) {
helper/test/TestSwapReturnValues.sol:102: for (uint8 i = 0; i < n; i++) {
Swap.sol:158: for (uint8 i = 0; i < _pooledTokens.length; i++) {
PublicSaleBatchWithdraw.sol:29: for (uint i = 0; i < arrayDays.length; i++) {
PublicSaleBatchWithdraw.sol:36: for (uint i = 0; i < length; i++) {
AirdropDistribution.sol:507: for (uint i = 0; i < airdropArray.length; i++) {
Tools Used
Manual testing
Recommended Mitigation Steps
Use ++i instead of i++ to increment the value of an uint variable.
The text was updated successfully, but these errors were encountered: