DeFiHardhatFoundry
250,000 USDC
View results
Submission Details
Severity: low
Invalid

Local variable shadowing found in multiple functions potentially creating the functions to perform differently from what is intended

Summary

Detection of shadowing using local variables.

Vulnerability Details

  • TokenFacet.permitToken(address,address,address,uint256,uint256,uint8,bytes32,bytes32).s (contracts/beanstalk/farm/TokenFacet.sol#162) shadows:
    - ReentrancyGuard.s (contracts/beanstalk/ReentrancyGuard.sol#16) (state variable)

  • ApprovalFacet.permitDeposits(address,address,address[],uint256[],uint256,uint8,bytes32,bytes32).s (contracts/beanstalk/silo/ApprovalFacet.sol#126) shadows:
    - ReentrancyGuard.s (contracts/beanstalk/ReentrancyGuard.sol#16) (state variable)

  • ApprovalFacet.permitDeposit(address,address,address,uint256,uint256,uint8,bytes32,bytes32).s (contracts/beanstalk/silo/ApprovalFacet.sol#154) shadows:
    - ReentrancyGuard.s (contracts/beanstalk/ReentrancyGuard.sol#16) (state variable)

  • BeanstalkERC20.constructor(address,string,string).name (contracts/tokens/ERC20/BeanstalkERC20.sol#39) shadows:
    - ERC20.name() (node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol#58-60) (function)
    - IERC20Metadata.name() (node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol#15) (function)

  • BeanstalkERC20.constructor(address,string,string).symbol (contracts/tokens/ERC20/BeanstalkERC20.sol#40) shadows:
    - ERC20.symbol() (node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol#66-68) (function)
    - IERC20Metadata.symbol() (node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol#20) (function)

Impact

The means of how the function is used may be incorrect.

Tools Used

Slither

Recommendations

Rename the local variables that shadow another component.

Updates

Lead Judging Commences

inallhonesty Lead Judge about 1 year ago
Submission Judgement Published
Invalidated
Reason: Lack of quality
Assigned finding tags:

Quality

Support

FAQs

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